Пузырьковые графики - как использовать? - PullRequest
0 голосов
/ 10 апреля 2019

Можно ли объединить «нормальные точки» и «точки пузыря»? У меня есть два набора данных - file1.txt и file2.txt, и для одного из них (file2.txt) я хотел бы использовать такие точки, как http://gnuplot -tricks.blogspot.com / 2009/06 /

Как составить это в код, пожалуйста? Когда я использую код с этой веб-страницы, как построить другие данные. Я попробовал это:

f(x) = A*exp(-x*x/B/B)
rx=0.107071; ry=0.057876; A = 1; B = 0.2; C=0.5*rx; D=-0.4*ry
g(u,v) = (2*cos(u)*v*rx+C)*(2*cos(u)*v*rx+C)+(3.5*sin(u)*v*ry+D)*(3.5*sin(u)*v*ry+D)             
unset key; unset colorbox; set view map
set xrange [-0.15:5.2]; set yrange [-0.7:0.95]
set parametric; set urange [0:2*pi]; set vrange [0:1]                         
set isosamples 20, 20; set samples 30                                         
set palette model HSV functions 1, 1-f(gray), 1+2*f(gray)                     
splot cos(u)*rx*v-0.13335347,sin(u)*ry*v+2.7730389, g(u,v) w pm3d, \
cos(u)*rx*v-0.11625481,sin(u)*ry*v+3.5312312, g(u,v) w pm3d, \
cos(u)*rx*v-0.14454222,sin(u)*ry*v+3.6412394, g(u,v) w pm3d, \
cos(u)*rx*v-0.070272446,sin(u)*ry*v+3.8070912, g(u,v) w pm3d, \
cos(u)*rx*v-0.10077238,sin(u)*ry*v+4.090774, g(u,v) w pm3d, \
'file1.txt' using 2:1:(0.0):2 with points pt 7 ps 1 palette

но file2 не является splot. Большое спасибо

Ответы [ 2 ]

3 голосов
/ 11 апреля 2019

Вот вариант "трюка", показанного в вашей второй ссылке .Я извлек индивидуальные стили точек в предопределенный набор типов линий.Это упрощает саму команду заговора, и легче использовать определения на нескольких графиках.

set linetype 101   ps 3.0 pt 7 lc rgb "#ff0000"
set linetype 102   ps 2.6 pt 7 lc rgb "#ff2222"
set linetype 103   ps 2.2 pt 7 lc rgb "#ff4444"
set linetype 104   ps 1.8 pt 7 lc rgb "#ff6666"
set linetype 105   ps 1.4 pt 7 lc rgb "#ff8888"
set linetype 106   ps 1.0 pt 7 lc rgb "#ffaaaa"
set linetype 107   ps 0.6 pt 7 lc rgb "#ffcccc"
set linetype 108   ps 0.2 pt 7 lc rgb "#ffeeee"

set border back
plot for [LT=101:108] 'silver.dat' using 1:2 with point lt LT notitle

enter image description here

1 голос
/ 11 апреля 2019

Пожалуйста, уточните, какими именно свойствами должен обладать ваш участок.

(1) Термин «пузырьковый график» обычно относится к графику, на котором каждая точка рисуется в виде круга с дополнительными свойствами, закодированными путем изменения размера, цвета или другого свойства круга.Гнуплот может сделать это довольно хорошо.Хороший пример можно найти в онлайн-демонстрации: Гипертекстовая пузырьковая диаграмма В этом случае размер кружка используется для обозначения относительной совокупности, а дополнительная информация кодируется как гипертекст (всплывающее текстовое поле)к этому моменту.Также можно легко добавить переменный цвет.Версия png ниже не включает гипертекст.

enter image description here

(2) Пример, который вы указали в запросе, не содержит никакой дополнительной информации вформа или цвет точки, но она использует причудливый глиф для каждой точки, а не простую точку или крест.Gnuplot может сделать это также.Это зависит от того, какой именно набор символов или глифов вы хотите использовать.Если вы можете найти шрифт с соответствующими символами, то здесь показан один из способов:

shape(i) = (i%4 == 0) ? "⊕" : (i%4 == 1) ? "⊙" : (i%4 == 2) ? "⊚" : "⦾" 
set grid x y z vertical
splot 'silver.dat' using 1:2:3:(shape(int(column(0))) with labels textcolor "forest-green"

enter image description here

Более сложные варианты также возможны, но могут зависеть отименно то, что вам нужно, и какой формат вывода (gnuplot "тип терминала") является приемлемым.

...