5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Julia】Plots.jl+バックエンドPyPlotで描くグラフに日本語を表示させる方法【25.02.05更新】

Last updated at Posted at 2017-03-09

【25.02.05更新】Julia v1.11.3で動作する内容に改めました(対処のための特別なコードが廃止されており、対処はより単純になっていました)。デッドリンクを修正しました。
【注意】Windows環境を前提とした説明です。

Plots.jl+バックエンドPyPlotで描くグラフに日本語を表示させる方法

はじめに

以下の参考1の解説に従ってfontを指定すれば、難なく日本語を表示できる場合もありますが、上手くいかない場合に遭遇することもあるかと思います。ここに上手くいかない場合の対処法をメモとして残しておきます。
【参考1】Plotsの公式解説

上手くいかない場合の対処法

①使用したいフォントファイル(おそらくTTFでないと動作しない)を用意する。
※ここではIPAexフォントをダウンロードしてOSに追加したとして話を進めます。

②matlibplotのfontlistを更新する。
ディレクトリC:\Users\某文字列\.matplotlibに行き、fontlist-v某数字.jsonを消します。
※消すことで、次回のmatlibplot動作時、OSに追加されている最新のフォントが認識され、matlibplotが使用できるフォントの情報であるfontlist-v某数字.jsonが書き改められます。

動作テスト

前記事の【例1】と【例2】に日本語を付けて表示させた場合を以下に示します。

【例1日本語付】1つのグラフエリアに曲線を2つ描画

Julia
using Plots
import Plots.PlotMeasures.px  #pxを単位のように使用するための準備(Plotsのバージョンアップに伴ってpxはimportやusingしておく必要が出た)
pyplot()
x=collect(0:0.01:2*pi)
y1=sin.(x)
y2=cos.(x)

plot(x, y1, xlab="横軸 x [mm]",
            ylab="縦軸 y [mm]",
            lab="正弦",
            leg=:bottomleft,
            margin=15px,
            guidefont=font("IPAexGothic",11),  #軸名のフォントとサイズの指定(サイズ指定もしないとサイズ14に固定されてしまう)
            legendfont=font("IPAexGothic",8),  #凡例のフォントとサイズの指定
            tickfont=font("IPAexGothic",8))    #目盛のフォントとサイズの指定(他とフォント揃えるためにだけ指定)
plot!(x, y2, lab="余弦")

Figure_1.png

【例2日本語付】上下2段組のグラフエリアを作成し、それぞれに曲線を1つ描画

Julia
using Plots
import Plots.PlotMeasures.px
pyplot()
x=collect(0:0.01:2*pi)
y1=sin.(x)
y2=cos.(x)
p1=plot(x, y1, lab="正弦");
p2=plot(x, y2, lab="余弦");
plot(p1, p2, xlab="横軸 x [mm]",
            ylab="縦軸 y [mm]",
            leg=:bottomleft,
            margin=15px,
            layout=grid(2,1),
            guidefont=font("IPAexGothic",11),  #軸名のフォントとサイズの指定(サイズ指定もしないとサイズ14に固定されてしまう)
            legendfont=font("IPAexGothic",8),  #凡例のフォントとサイズの指定
            tickfont=font("IPAexGothic",8))    #目盛のフォントとサイズの指定(他とフォント揃えるためにだけ指定))

Figure_2.png

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?