首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气泡图-如何使用?

气泡图-如何使用?
EN

Stack Overflow用户
提问于 2019-04-11 04:41:40
回答 2查看 260关注 0票数 0

有没有可能把“正常点”和“泡点”结合起来?我有两组数据- file1.txt和file2.txt,对于其中一组(file2.txt),我想使用像http://gnuplot-tricks.blogspot.com/2009/06/这样的点

请告诉我如何将这段代码编写成代码?当我使用该网页中的代码时,如何绘制另一个数据。我试过这个:

代码语言:javascript
复制
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。非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-12 01:46:12

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

代码语言:javascript
复制
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

票数 3
EN

Stack Overflow用户

发布于 2019-04-11 07:23:49

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

(1)术语“气泡图”通常是指将每个点绘制为圆,并通过改变圆的大小、颜色或其他属性对附加属性进行编码的图。Gnuplot可以很好地做到这一点。在在线演示集合中可以找到一个很好的示例:Hypertext bubble chart,在本例中,圆的大小用于指示相对人口,附加信息被编码为附加到该点的超文本(弹出文本框)。也可以很容易地添加可变颜色。下面的png版本不包括超文本。

(2)您在查询中链接的示例似乎没有将任何附加信息编码到点的形状或颜色中,但它确实为每个点使用了奇特的字形,而不是简单的点或十字。Gnuplot也可以做到这一点。这完全取决于您要使用的符号或字形集。如果您可以找到提供适当字形的字体,则可以在此处显示一种方法:

代码语言:javascript
复制
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"

更复杂的选项也是可能的,但可能取决于您到底需要什么,以及什么输出格式(gnuplot“终端类型”)是可接受的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55621031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档