Gnuplot:要加载调色板吗?

时间:2019-02-10 07:20:21

标签: gnuplot color-palette

我当然缺少一些非常明显的东西,但是如何更改Gnuplot使用的基本颜色(可以通过命令test看到)?

我想要定义一些颜色,然后能够将它们用作linecolor 1等的基本颜色。

这是一个示例,据我所知,它应该覆盖颜色-但事实并非如此:

set palette defined (0 '#A6CEE3',\
                     1 '#1F78B4',\
                     2 '#B2DF8A',\
                     3 '#33A02C',\
                     4 '#FB9A99',\
                     5 '#E31A1C',\
                     6 '#FDBF6F',\
                     7 '#FF7F00' )
set style arrow 1 \
    nohead \
    linecolor 1 \
    linewidth 2
set style arrow 2 \
    nohead \
    linecolor 2 \
    linewidth 4
set style line 3 \
    linetype 1 \
    linewidth 3 \
    linecolor 3
set xrange [-10:10]
set yrange [-2:10]
set arrow from 1,-2 to 1,10 arrowstyle 1
set arrow from -10,3 to 10,3 arrowstyle 1
plot sin(x) with lines linestyle 3, \
    5 with vectors arrowstyle 2

颜色取自paired palette,而在graph上,Gnuplot仍使用默认颜色(可以在背景中看到,它是{{1 }}命令输出。

2 个答案:

答案 0 :(得分:1)

似乎调色板用于将连续的模拟值转换为平滑的颜色选择。您只想使用指定的离散值0、1 ... 7在指定的定义点处“索引”到调色板中即可获得颜色。 如果您使用linecolor palette cb index 形式的 colourspec ,就可以执行此操作。您需要首先设置“颜色栏”的范围。试试

set cbrange [0:7]
set style arrow 1 \
    nohead \
    linecolor palette cb 1 \
    linewidth 2
set style arrow 2 \
    nohead \
    linecolor palette cb 2 \
    linewidth 4
set style line 3 \
    linetype 1 \
    linewidth 3 \
    linecolor palette cb 3

添加unset colorbox不会在右侧显示颜色范围。

答案 1 :(得分:1)

我可能误解了最初的问题,但我认为这是要求提供有关如何更改基本线型1到N使用的颜色集的信息,如“ test”命令所示。所需的命令是:

set linetype 1 lc '#A6CEE3'
set linetype 2 lc '#1F78B4'
set linetype 3 lc '#B2DF8A'
set linetype 4 lc '#33A02C'
set linetype 5 lc '#FB9A99'
set linetype 6 lc '#E31A1C'
set linetype 7 lc '#FDBF6F'
set linetype 8 lc '#FF7F00'
set linetype cycle 8

这成为新的颜色序列,用于生成连续的图元,并由“ test”命令显示。最后一行告诉它重新启动线型9(和17、25,...)的相同颜色顺序。