6 gnuplot
假设我想绘制一个图形并且我想在图形上显示一些重要的点。我如何在 gnuplot 中做到这一点?例如,在y = x 2的图中,我想显示 (2,4) 和 (4,16)。
KDN*_*KDN 11
我不认为上面的答案很有帮助,因为在我写这篇文章的时候,第一个谷歌结果方法非常不令人满意。
它使用 gnuplot 读取标准输出的能力来生成数据,以便
plot "< echo '1 2'"
Run Code Online (Sandbox Code Playgroud)
将在 x=1, y=2 点放置一个数据点。
这有几个缺点,使其几乎无法使用。
首先,将变量传递给这个方法并不是一个好方法,因为它已经使用了这两种类型的引号。因此,禁止使用宏在 sprintf 语句中传递变量,因为需要第三种类型的引用。
其次,它需要运行 plot 命令才能调用该点。这意味着如果我想要绘制多个点,我必须将 plot 语句附加到主 plot 语句中。如果我想以任何脚本方式执行此操作,而不仅仅是作为显式列表,我将不得不运行一个宏,正如我已经指出的那样,它不适用于此技术。
Gnuplot 确实有两种更适合生成单点的技术。
首先,如果您只需要一个标记点,您可以使用 gnuplot 对象类型在该点绘制一个圆,例如
set object circle at <x>,<y> size <r>
Run Code Online (Sandbox Code Playgroud)
其中<x>和<y>是点的坐标,<r>是要绘制的圆的大小。圆可以被着色、填充、透明等,就像任何 gnuplot 对象一样。
其次,如果您确实需要具有特定点样式的标记,则可以使用 gnuplot 的label命令。通过将标签文本设置为空并指定点类型,将在指定的坐标处绘制一个点,例如,
set label <i> "" at <x>,<y> point pointtype <n>
Run Code Online (Sandbox Code Playgroud)
设置一个带有标记索引<i>的点x=<x>,点y=<y>类型<n>(在默认的 wxt终端中,n=1 是红色十字,n=2 是绿色盐渍,n=3 是蓝色星号,等等...)
通过这种方式,可以设置多个要绘制的点,并且可以为另一个函数发出单独的绘图命令,而不必将所有要绘制的单个点弄乱绘图语句。
| 归档时间: |
|
| 查看次数: |
31018 次 |
| 最近记录: |