gnuplotで使われている色名の一覧を作る(新しいgnuplot対応)

こちらで紹介した、色名の一覧を作るスクリプトですが、最近のgnuplotでは色名の定義が若干変わっていたりするために上手く動かないことが分かりました。その問題に対処したスクリプトを以下に示します。

新しいgnuplotでは、色名が増えているようなので、配置も若干変えました。

出力したEPSファイルを印刷してデスクに貼っておくといい感じです。

color_list="white black dark-grey red web-green web-blue dark-magenta dark-cyan \
dark-orange dark-yellow royalblue goldenrod dark-spring-green purple steelblue \
dark-red dark-chartreuse orchid aquamarine brown yellow turquoise grey0 grey10 \
grey20 grey30 grey40 grey50 grey60 grey70 grey grey80 grey90 grey100 light-red \
light-green light-blue light-magenta light-cyan light-goldenrod light-pink \
light-turquoise gold green dark-green spring-green forest-green sea-green blue \
dark-blue midnight-blue navy medium-blue skyblue cyan magenta dark-turquoise \
dark-pink coral light-coral orange-red salmon dark-salmon khaki dark-khaki \
dark-goldenrod beige olive orange violet dark-violet plum dark-plum dark-olivegreen \
orangered4 brown4 sienna4 orchid4 mediumpurple3 slateblue1 yellow4 sienna1 tan1 \
sandybrown light-salmon pink khaki1 lemonchiffon bisque honeydew slategrey seagreen \
antiquewhite chartreuse greenyellow gray light-gray light-grey dark-gray slategray \
gray0 gray10 gray20 gray30 gray40 gray50 gray60 gray70 gray80 gray90 gray100"


color_list_16="#ffffff #000000 #a0a0a0 #ff0000 #00c000 #0080ff #c000ff #00eeee \
#c04000 #c8c800 #4169e1 #ffc020 #008040 #c080ff #306080 #8b0000 #408000 #ff80ff \
#7fffd4 #a52a2a #ffff00 #40e0d0 #000000 #1a1a1a #333333 #4d4d4d #666666 #7f7f7f \
#999999 #b3b3b3 #c0c0c0 #cccccc #e5e5e5 #ffffff #f03232 #90ee90 #add8e6 #f055f0 \
#e0ffff #eedd82 #ffb6c1 #afeeee #ffd700 #00ff00 #006400 #00ff7f #228b22 #2e8b57 \
#0000ff #00008b #191970 #000080 #0000cd #87ceeb #00ffff #ff00ff #00ced1 #ff1493 \
#ff7f50 #f08080 #ff4500 #fa8072 #e9967a #f0e68c #bdb76b #b8860b #f5f5dc #a08020 \
#ffa500 #ee82ee #9400d3 #dda0dd #905040 #556b2f #801400 #801414 #804014 #804080 \
#8060c0 #8060ff #808000 #ff8040 #ffa040 #ffa060 #ffa070 #ffc0c0 #ffff80 #ffffc0 \
#cdb79e #f0fff0 #a0b6cd #c1ffc1 #cdc0b0 #7cff40 #a0ff20 #bebebe #d3d3d3 #d3d3d3 \
#a0a0a0 #a0b6cd #000000 #1a1a1a #333333 #4d4d4d #666666 #7f7f7f #999999 #b3b3b3 \
#cccccc #e5e5e5 #ffffff"

num2col(n)=word(color_list, n)
num2col16(n)=word(color_list_16, n)

set multiplot

#色名の一覧を作る
set tmargin 0
set bmargin 12
set rmargin 0
set lmargin 0
set origin 0,0
set xrange [0:1]
set yrange [0:1]
set format x ""
set format y ""
unset xtics
unset ytics
set border 0
set key default
set title sprintf("Color-name and point-shape lists for gnuplot %.1f.%s" ,\
                   GPVAL_VERSION , GPVAL_PATCHLEVEL)
set key bottom center at graph 0.5,0.0 width -0.1
plot for [i=1:words(color_list)] 1/0 w l lw 10 lt 1 lc rgb num2col(i) \
     title num2col(i)." = {/Courier ".num2col16(i)."}"
unset label 100

set key samplen 0.4 bottom center at graph 0.5,0.0 width +0.1

unset title
#Pointの種類の一覧を作る
set tmargin 38
set bmargin 1
plot for [i=0:159] 1/0 w p ps 1 lw 1 lt 1 lc i pt i\
     title sprintf("{/Arial %d}",i)

unset multiplot

if (exist("TERM")==0) TERM="PS";\
     set out "colorname-list2.eps";\
     set term post enhanced color "Arial" 10 landscape;\
     reread;

undefine TERM
set term pop
set out

このスクリプトの実行結果(colorname-list2.epsをpngに変換したもの)を以下に示します。(クリックすると拡大します)