明け方の自動販売機

旅行のこととか、ゲームのこととか、日常の雑多なこととか

gnuplotで日本語ラベルを付けたい【忘備録】

gnuplotなるソフトを使うことがあるのだけれどなかなか優秀である

(詳しくは下のリンクを参照)

gnuplot homepage

なんせそんなに頑張らなくてもそれっぽい図が書ける

すごく頑張ればとてもよい図が書ける

図なんて所詮は図であって

いくら手をかけても脇役の域は出ないけれど

それでもきれいに書きたいと思うわけだ

 

gnuplotなんて使って日本語のラベルを付けるときはあまりないかもしれないが

あまりないからこそいざやろうと思った時に忘れてしまっている

だからこそ書き留めておこうかと思った

 

現在の環境を書いておくと

OS:Windows10

gnuplotのバージョン:5.0(16.10.02が最終更新のもの)

 

どうでもいい図を書いても仕方ないから

とはいえ各所からこの図を書くことはないだろうと言われそうだけど

今回はこのような図を作成することを目指そう

εが気持ち悪いっていうのはまた別の問題だから今日はパス

それとあくまでも日本語でラベルを書くことの練習だから

次元が書いてないとかそういう物理的な事項の突っ込みはだめですよ

 

f:id:vendawn:20170215182225p:plain

 

 

 

手っ取り早く図を得る方法

特段何も考えずにできるのは

 

set title "自由電子(2次元)の状態密度"
set xlabel "エネルギーε"
set ylabel "状態密度D(ε)"
set xrange[0:10]
set yrange[0:2]
plot 1 notitle

 

と順番にグラフの情報を書く

(面倒だったので今回は状態密度が1となるようにしました笑)

gnuplot上でグラフを表示

左上の「Copy  plot to clipboad」のボタンをクリック(クリップボードのマーク)

ペイントを起動して貼り付ける

適当な形式を指定して保存

 

デメリット

いちいちペイントを起動するのが面倒

gnuplotスクリプトですべて終わらせたい

 

gnuplotで図を出力する

gnuplotから図を出力するのは例えばpngなら

 

set terminal pngcairo

 

を用いればよいけれどこのまま日本語でラベルを書くと文字化けする

だからといって難しいことはなくて

 

set terminal pngcairo "(好きなフォント)"

 

とするだけで簡単に出力できる

スクリプト

 

set terminal pngcairo  font 'MS-MINCHO'
set output "test2.png"
set title "自由電子(2次元)の状態密度"
set xlabel "エネルギーε"
set ylabel "状態密度D(ε)"
set xrange[0:10]
set yrange[0:2]
plot 1 notitle

例ではみんな大好き(笑)のMS明朝を用いているが

好きなフォントがあったらそれを用いればよい

すごく簡単でお手軽だ

 

終わりに

いちいちネットで探すと面倒だから書いておいた

まあ使うことが今後あるかはわからない

ラベルなんて英語で書けばいいでしょう

そういえば図中のイプシロンLatexっぽく書く方法も

またそのうち上げておこうかな