Не могу использовать палитру, чтобы залить объект цветом - PullRequest
0 голосов
/ 26 сентября 2018

Я пытался построить число частиц в квадратной решетке.и мне нужно, чтобы каждый из них был разного цвета.Поэтому я попытался использовать палитру ... выбрав несколько случайных чисел, но это всегда дает мне черные прямоугольники ... что мне делать?

установить obj rect от 1,5 до 2,6 fc palette 0.454545 → вот чтоне работает для меня.

Это изображение с тем же цветом.Мне нужен разный цвет для каждой частицы:

this is the image with all same color. I need different colour for each particle.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Посмотрите, что я получил Я мог бы заставить это работать, то, что я сделал, первоначально установил палитру с помощью команд типа "задать модель палитры RGB (0" зеленый ", 1" синий ", 2"red ', 3' orange ') "," установить определенную модель палитры HSV (0 0 1 1, 1 1 1 1) "(я получил их отсюда - http://gnuplot.sourceforge.net/demo/pm3dcolors.html). Затем я установил прямоугольники как" set obj rect "от x1, y1 до x2, y2 fc palette frac 0.57 ". Но я мог видеть, что между квадратами были некоторые промежутки, и я мог понять, что это было из-за проблемы с границей, поэтому я добавил эту" fs border palette frac 0.57 ",тот же цвет. Даже после этого он не получится с помощью простой команды «plot 0». Поэтому мне пришлось изменить его как «plot 0 lc palette frac 0.24» (0.57 / 0.24 я просто имел в виду в качестве примера ... как вызнаю, что это будет что-то между 0 и 1). Теперь, чтобы удалить colorbox, я использовал "unset colorbox". Но почему мне пришлось написать "plot 0 lc palette frac 0.24"?, чтобы разбудить палитру?, Есть ли другой способчтобы показать прямоугольники, которые мы уже установили без использованиясюжетная команда?

0 голосов
/ 26 сентября 2018

График, используя стиль boxxyerror, и заполните поля:

set size ratio -1
set style fill solid
plot 'file.dat' using 1:2:(0.1):(0.1):3 linecolor palette with boxxyerror

Это построит квадрат размером 0,2 в каждой позиции, заданной первым и вторым столбцами.Цвет берется из третьего столбца и сопоставляется с текущей палитрой.Вы должны адаптировать его к фактическому формату данных.

Рабочий пример с использованием случайных псевдоданных ('+'):

set xrange [-0.05:1.05]
f = "int(rand(0) * 20)/20.0"
set style fill solid
set size ratio -1
plot '+' using (@f):(@f):(0.025):(0.025):(@f) linecolor palette notitle with boxxyerror

enter image description here

...