气泡图-如何使用?

时间:2019-04-10 20:41:40

标签: gnuplot

是否可以合并“正常点”和“气泡点”?我有两组数据-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没有绘制。非常感谢

2 个答案:

答案 0 :(得分:3)

这是second link中显示的“技巧”的一种变体。我已将自定义点样式提取到一组预定义的线型中。这使plot命令本身更简单,并且更容易在多个图中重用定义。

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 :(得分:1)

请明确说明您的绘图需要具备哪些属性。

(1)术语“气泡图”通常是指这样的图,其中每个点都绘制为一个圆,并具有通过更改圆的大小,颜色或其他属性来编码的其他属性。 Gnuplot可以做到的很好。可以在在线演示集合中找到一个很好的示例:Hypertext bubble chart在这种情况下,圆的大小用于指示相对人口,并且附加信息被编码为附加到该点的超文本(弹出文本框)。也可以轻松添加可变颜色。下面的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“终端类型”)。