colorsequence超过8种颜色gnuplot

时间:2017-10-16 17:10:51

标签: gnuplot

我通常在gnuplot 5中使用set colorsequence podo来选择对色盲个人友好的颜色。但是我的情节由12不同的键组成,因此线条颜色会重复。我如何扩展颜色空间为默认值8的12种颜色,同时仍然处理色盲,而不必手动指定颜色。

2 个答案:

答案 0 :(得分:3)

可以使用初始化文件来扩展色彩空间。来自help set linetype

  

建议的方法是添加到运行时   初始化文件〜/ .gnuplot一系列命令,如

   if ((GPVAL_VERSION < 4.5) \
   ||  (!strstrt(GPVAL_COMPILE_OPTIONS,"+USER_LINETYPES"))) \
       exit
   set linetype 1 lc rgb "dark-violet" lw 2 pt 0
   set linetype 2 lc rgb "sea-green"   lw 2 pt 7
   set linetype 3 lc rgb "cyan"        lw 2 pt 6 pi -1
   set linetype 4 lc rgb "dark-red"    lw 2 pt 5 pi -1
   set linetype 5 lc rgb "blue"        lw 2 pt 8
   set linetype 6 lc rgb "dark-orange" lw 2 pt 3
   set linetype 7 lc rgb "black"       lw 2 pt 11
   set linetype 8 lc rgb "goldenrod"   lw 2
   set linetype cycle 8
     

每次运行gnuplot时,行类型都将初始化为   这些价值观。您可以根据需要初始化任意数量的线型。

对于对色盲人士友好的颜色,help colorsequence是指Wong(2011)[Nature Methods 8:441]的文章。我无权访问该文章,但似乎他们有一些来自本文online的图片。而且本文似乎只推荐了8种颜色。

您是否考虑过使用虚线或虚线?

答案 1 :(得分:0)

带有虚线:

# color cycle 1, dt 1 = solid line
set linetype  1 lc rgb "dark-violet" lw 1 dt 1 pt 0
set linetype  2 lc rgb "sea-green"   lw 1 dt 1 pt 7
set linetype  3 lc rgb "cyan"        lw 1 dt 1 pt 6 pi -1
set linetype  4 lc rgb "dark-red"    lw 1 dt 1 pt 5 pi -1
set linetype  5 lc rgb "blue"        lw 1 dt 1 pt 8
set linetype  6 lc rgb "dark-orange" lw 1 dt 1 pt 3
set linetype  7 lc rgb "black"       lw 1 dt 1 pt 11
set linetype  8 lc rgb "goldenrod"   lw 1 dt 1
# color cycle 2, dt 3 = dot line
set linetype  9 lc rgb "dark-violet" lw 1 dt 3 pt 0
set linetype 10 lc rgb "sea-green"   lw 1 dt 3 pt 7
set linetype 11 lc rgb "cyan"        lw 1 dt 3 pt 6 pi -1
set linetype 12 lc rgb "dark-red"    lw 1 dt 3 pt 5 pi -1
set linetype 13 lc rgb "blue"        lw 1 dt 3 pt 8
set linetype 14 lc rgb "dark-orange" lw 1 dt 3 pt 3
set linetype 15 lc rgb "black"       lw 1 dt 3 pt 11
set linetype 16 lc rgb "goldenrod"   lw 1 dt 3
#
set linetype cycle 16

问题是,png终端将继续显示实线,因此我们需要pngcairo终端:

set term pngcairo dashed size 800,600 font "sans" linewidth 3

要显示较小的点,请使用dt "."