|
From: theozh <th...@gm...> - 2018-07-21 06:36:28
|
Hi, I was searching for a visual compilation of the predefined colors in gnuplot. But so far, I couldn't find one.
So, just in case anybody might be interested... here is a code to do it yourself. This still can be fine tuned and improved. The color names and values are taken from "show colornames" in gnuplot 5.2rc4.
### gnuplot script to display all predefined gnuplot colors
reset
set term wxt size 1000,700
array ColorNames[111] = ['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']
array ColorCodes[111] = ['#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']
#pick red, green, blue color hex string out
Red(ColorCode)= ColorCode[2:3]
Green(ColorCode)=ColorCode[4:5]
Blue(ColorCode)=ColorCode[6:7]
#convert a hex string to dec format
hex2dec(hex)=gprintf("%0.f",int('0X'.hex))
# get decimal number for R,G,B
R(ColorCode) = hex2dec(Red(ColorCode))
G(ColorCode) = hex2dec(Green(ColorCode))
B(ColorCode) = hex2dec(Blue(ColorCode))
# "empirical" formula do decide whether using a white or a black label on the colored background
LabelColor(ColorCode) = (R(ColorCode)+G(ColorCode)*1.5+B(ColorCode)*0.5)/3. > 127 ? "#000000" : "#ffffff"
# Settings
PosYOffset = 4.5
SizeX = 0.7
SizeY = 5
Cols = 10
# loop for placing colored rectangles and labels
do for[i=1:111] {
PosX = (i-1)%Cols + 1
PosY = (i-1)/Cols*10
set object i rectangle at PosX, PosY size SizeX,SizeY fc rgb ColorNames[i]
set label i at PosX, PosY+PosYOffset ColorNames[i] center font ",9"
set label 200+i at PosX, PosY ColorCodes[i] tc rgb LabelColor(ColorCodes[i]) center font ",9"
}
set title "Predefined colors in gnuplot"
set xrange[0.5:10.5]
set xtics 1
set link x2 via x inverse x
set x2tics 1
set yrange[119:-5] reverse
set ytics 10
set link y2 via y inverse y
set y2tics 10
# plot invisible dummy data
plot '-' w p ps 0 not
0 0
e
### end of gnuplot script
|