忍者ブログ
日々の研究生活のメモ書きなど
今までkeyはグラフの枠内に書いてきたが、実はグラフの枠外に書けることは以前記事にした
■ 参考
【gnuplot】おされなkeyを見つけた

今回やりたいことは、グラフのkey(legend)を1行に書く個数をこちらで指定して、見栄えを整えたいということ
文章にしてもわかりずらいので比較のグラフを見てもらった方が早いだろう・・・・





参考にしたのはこちら
3.24.30 key

重要なところを抜粋
Elements within the key are stacked according to ‘vertical‘ or ‘horizontal‘. In the case of ‘vertical‘, the key occupies as few columns as possible. That is, elements are aligned in a column until running out of vertical space at which point a new column is started. The vertical space may be limited using ’maxrows’. In the case of ‘horizontal‘, the key occupies as few rows as possible. The horizontal space may be limited using ’maxcols’.
要するに
 keyのオプションであるverticalを付けたとき、何個のkeyで改行するかはmaxrowsで指定する
 keyのオプションであるhorizontalを付けたとき、何個のkeyで改行するかはmaxcolsで指定する
ということらしい

これを使ってグラフを書くと・・・・・


デフォルトでは
枠内にkeyが表示される
pic_key_default


set key below horizontal maxcols 1では
縦にkeyを並べられる、maxcolsで折り返しの回数を指定するっぽい
pic_key_horizontal_maxcols1


set key below horizontal maxcols 2では
縦にkeyを並べられる、maxcols 2なので2個表示したら改行される
pic_key_horizontal_maxcols2


set key below horizontal maxcols 3では
縦にkeyを並べられる、maxcols 3なので3個表示したら改行される
pic_key_horizontal_maxcols3


set key below vertical maxrows 1では
横にkeyを並べられる、maxcols 1なのでずらっと横にならぶ
pic_key_vertical_maxrows1


set key below vertical maxrows 4では
pic_key_vertical_maxrows4

これらのグラフを書くためのソースコードは、


set term postscript enhanced color
set xtics pi
set format x "%.0P{/Symbol p}"

set output "pic_key_default.eps"
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"


set output "pic_key_vertical_maxrows1.eps"
set key below vertical maxrows 1
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"

set output "pic_key_vertical_maxrows4.eps"
set key below vertical maxrows 4
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"


set output "pic_key_horizontal_maxcols1.eps"
set key below horizontal maxcols 1
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"


set output "pic_key_horizontal_maxcols2.eps"
set key below horizontal maxcols 2
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"

set output "pic_key_horizontal_maxcols3.eps"
set key below horizontal maxcols 3
set xrange[0:2*pi]
plot sin(x) w l lw 3 title "sin(x)",\
sin(2*x) w l lw 3 title "sin(2x)",\
sin(3*x) w l lw 3 title "sin(3x)",\
sin(4*x) w l lw 3 title "sin(4x)",\
cos(x) w l lw 3 title "cos(x)",\
cos(2*x) w l lw 3 title "cos(2x)",\
cos(3*x) w l lw 3 title "cos(3x)",\
cos(4*x) w l lw 3 title "cos(4x)"

いつものpngではなくpostscriptを使っているのは、x軸の区切り文字をギリシャ文字のpiで綺麗に書きたいと思っていたのだが、pngにしたままだとエラーが出るから・・・
以前からめんどくさがって問題解決しようとしていないから放置している・・・
一応、情報があったので共有
■ 参考
gnuplot に関する情報やメモ (2007)

Unix user は png terminal でどうやって symbol を使うのでしょう」












PR
この記事にコメントする
Name
Title
Color
E-Mail
URL
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST

print "生きてます"
print "コロナのせいで15万くらい損失出してますが、生きてます"

# 最終更新 2020/03/15
カウンター
カウンター カウンター
ブログ内検索
ツイートするボタン
リンク
相互リンク募集中です (Twitterにてお知らせください)

Demo scripts for gnuplot version 5
(gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)

gnuplotスクリプトの解説
(米澤進吾さんの個人ページ、gnuplotと言えばこのかた)

gnuplot のページ
(Takeno Lab、うちのブログがリンクされていたのでリンク返し)

とある物理の院生日誌~院生は社会へ旅立った~
(研究室の先輩の個人ブログ)

英語例文を見て自然に英語・英会話を学ぶ
(楠本慶ニさんの個人ページ、様々な情報の密度の高さに感動)

Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco
(映画の感想をまとめられるサイト、いつもお世話になっています)

Astronomy Picture of the Day Archive
(天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)

今日のほしぞら
(任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)

GNUPLOTとアニメーション
(応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)

読書メーター
(読んだ本をリストできる便利なサイト)

flickr難民の写真置き場
(20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)

教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定
(阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)

英語論文執筆用の例文検索サービス
(とんでもないものを見つけてしまった・・・・ arXivに収録されている 811,761報の 英語論文から,例文を検索するための検索エンジン)


Template "simple02" by Emile*Emilie
忍者ブログ [PR]