Gnuplot提供了许多点样式,可用于散点图,例如十字形,星形,正方形,圆形等。使用test
可用的点类型可以是demonstrated命令。
但是,对于特定的应用程序,我需要不同的符号,我需要显示这些符号的图例条目。
特别是,我需要四个以上的符号,这些符号可以在轮廓和填充状态下绘制(例如,指向左或右的三角形,平行四边形或非方形矩形)。
有许多方法可以使用其他形状(每种形状都对终端有一些要求,例如unicode支持):
set label '□' at 3,4
,其中□可以被任何unicode字符替换,例如◁,▶,▭,▮等。)plot ... with labels
并提供unicode字符作为标签所有这些方法的问题在于我无法获得包含符号的正确图例(关键)条目。
我考虑过自己策划这个传奇,但有两个原因让我不认为这是可行的:
using linespoints
),这两个点都必须在图例中显示。我正在以编程方式生成Gnuplot输入文件,因此明确列出所有点(如上面提到的set label
方法)或需要进行一些计算的方法是可以的。
答案 0 :(得分:11)
这不是答案,因为我要告诉你改变终端......我知道......
无法在gnuplot中添加用户定义的点形状,但PostScript终端允许大约70种不同: http://www.cp.cmc.osaka-u.ac.jp/~fumiko/tips/gnuplot_pt.jpg
在下面的讨论中,他们声明没有添加用户定义点类型的通用机制。他们带来了你在问题中提出的解决方案。 https://groups.google.com/forum/?fromgroups=#!topic/comp.graphics.apps.gnuplot/in57UNxG2o0
我认为实现目标的方法可能是
我担心我将不得不面对同样的问题,所以如果你找到一个更简单的解决方案,让世界知道:)
答案 1 :(得分:2)
如果有人想弄乱postscritp路线,这是一个简单的例子:
每个符号都是由ps文件中的名称(参见Pascali的答案中的表格)定义的,例如:
/BoxF {
....3 or 4 lines of terse code ...
} def
替换为您自己的定义:这是大写字母Pi。
/BoxF {
stroke gsave moveto % required, this finishes prior line and moves to point
0 30 rmoveto % nudge symbol to get it centered properly
/Symbol findfont 120 scalefont setfont (P) Cshow
grestore
} def
这个简单的例子可能需要数字(字体大小) 调整了不同类型的情节..
如果您想使用postscript解释器不知道的字体,您需要手动包含它们。
答案 2 :(得分:2)
与Pascail的答案类似,您也可以使用SVG代替Postscript。
SVG基于XML,可能比Postscript(使用XML库)更容易处理。它还支持unicode。