Gnuplot: загрузка палитры? - PullRequest
       51

Gnuplot: загрузка палитры?

0 голосов
/ 10 февраля 2019

Я, конечно, упускаю что-то очень очевидное, но как изменить основные цвета, которые использует 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

Цветавзяты из парных палитры , в то время как на графике 1015 * Gnuplot по-прежнему использует цвета по умолчанию (можно увидеть на фоне, который является частью testвывод команды).

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Возможно, я неправильно понял исходный вопрос, но я подумал, что это запрос информации о том, как изменить набор цветов, используемых базовыми типами линий с 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, ...).

0 голосов
/ 10 февраля 2019

Кажется, палитры используются для преобразования непрерывного аналогового значения в плавный выбор цвета.Вам нужно только «индексировать» палитру в определенных вами точках, используя дискретные значения 0, 1 ... 7, чтобы добраться до цвета.Похоже, что вы можете сделать это, если вы используете colourspec формы linecolor palette cb index .Вы должны сначала установить диапазон «цветовой гаммы».Попробуйте

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, чтобы не отображать диапазон цветов с правой стороны.

...