我的数据文件只有两列。这些列上的以下MWE会生成重复颜色的框。是否可以为每个盒子生产独特的颜色?
reset
set term postscript eps size 5.5,4.5 enhanced color solid lw 2\
font "arial,28"
set key right
set xtics rotate -45 font ",20"
set style fill solid 1 border -1
plot 'rankdefcount.dat' using ($0):2:($0):xticlabels(1) \
notitle w boxes lc variable
quit
这是我得到的输出:
答案 0 :(得分:2)
经过SO专家的几次尝试和帮助,我提出了以下解决方案;但是,没有一个是完美的。
解决方案1 :(使用 rand和rgb调用随机重复)
reset
set term postscript eps size 5.5,4.5 enhanced color solid lw 2 font \
"arial,28"
set key right
rgb(r,g,b)=int(255*r)*65536+int(255*g)*256+int(255*b)
do for [i=1:31] {
myrand=rand(int(rand(0)*i*100)+i*100)
set style line i linecolor rgb rgb(rand(0),rand(0),rand(0))
}
set xtics rotate -45 font ",20"
set style fill solid 1 border -1
plot 'rankdefcount.dat' using ($0):2:($0):xticlabels(1) \
notitle w boxes lc variable
quit
以下是相应的输出:
使用调色板定义(解决方案2):
reset
set term postscript eps size 5.5,4.5 enhanced color solid lw 2 font \
"arial,28"
set key right
set palette color model HSV
set palette defined (0 0 1 1,1 1 1 1)
set palette defined ( 0 0 1 0, 1 0 1 1, 6 0.8333 1 1, 7 0.8333 0 1)
set boxwidth 0.5
unset colorbox
set xtics rotate -45 font ",20"
set style fill solid 1 border -1
plot 'rankdefcount.dat' using ($0):2:($0):xticlabels(1) \
notitle w boxes lc palette
quit
这是输出:
对于另一个解决方案(解决方案3 ),请使用以下行替换上面的定义:
set palette color model HSV
set pm3d explicit at b
set palette rgbformulae 3, 2, 2
这就是我得到的:
答案 1 :(得分:1)
您可以尝试重新定义与要显示的框一样多的线型。代码应该在图之前。
colors="black red orange #fa8072 ...." #[as much colors as needed]
do for [L=1:words(colors)]{
set linetype L lc rgb word(colors,L)
}
你可以在这里找到gnuplot的颜色。
http://www.uni-hamburg.de/Wiss/FB/15/Sustainability/schneider/gnuplot/colors.htm