Gnuplot:使用自定义点形状,带有图例条目

Mar*_*ann 9 charts symbols gnuplot shape

Gnuplot提供了许多点样式,可用于散点图,例如十字形,星形,正方形,圆形等.可以使用该命令演示可用的点类型test.

但是,对于特定的应用程序,我需要不同的符号,我需要显示这些符号的图例条目.

特别是,我需要超过四个符号,可以在轮廓和填充状态下绘制(例如,指向左或右的三角形,平行四边形或非方形矩形).

有许多方法可以使用其他形状(每种形状都对终端有一些要求,例如unicode支持):

  • 使用PNG图像
  • 使用set label '?' at 3,4对于每个点,其中□可以通过任何Unicode字符来代替,如◁,▶,▭,▮等)
  • 使用plot ... with labels并提供unicode字符作为标签

所有这些方法的问题在于我无法获得包括符号在内的正确的图例(关键)条目.

我考虑过自己策划这个传奇,但有两个原因让我觉得这不可行:

  • 为了绘制图表右侧(或图表右下方)的图例,我需要计算图例的宽度,这取决于字体.
  • 一些图可能包括一条线和一条点(就像using linespoints常规的Gnuplot点类型一样),它们都必须在图例中显示.

我以编程方式生成Gnuplot输入文件,因此明确列出所有点(如set label上面提到的方法)或需要一些计算的方法是可以的.

Pas*_*ail 11

这不是答案,因为我要告诉你改变你的终端......我知道......

在gnuplot中无法添加用户定义的点形状,但PostScript终端允许大约70种不同的: Postscript点类型 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. 使用postscript使用默认的点类型处理"人类可读"的.ps文件.
  2. "post-process"(=解析).ps文件(对我来说听起来像是Inception)将旧的丑陋的默认点类型更改为你喜欢的东西,从unicode chars到home绘制的形状.
  3. ps2pdf或ps2something你喜欢处理过的.ps文件.

我担心我将不得不面对同样的问题,所以如果你找到一个更简单的解决方案,让世界知道:)