标签: gnuplot

C++和gnuplot

这是我的第一篇文章,我对C++和一般编译都很新手.

我正在编写一个程序,需要绘制一些图形.该程序创建一个.dat文件,然后我应该打开gnuplot并写入' .dat'.没关系.

有没有办法让gnuplot自动打开并向我展示我需要的情节?我应该在代码中使用一些system()函数来调用gnuplot但是如何让他绘制我需要的东西呢?

对不起我的非完美英语:s

无论如何,感谢您的关注!

c++ gnuplot

9
推荐指数
2
解决办法
3万
查看次数

通过Gnuplot的管道接口从C/C++可视化

我试图将管道接口用于gnuplot(标准的一个gnuplot_i.{cpp,hpp}),以便生成在C++编写的另一个程序中不断变化的值的实时显示.这项工作正常,但我想知道是否有人有任何改进建议.

该实现包含将单个矢量和2个矢量绘制为2D图的便利方法.它是通过对mktemp函数的标准库调用写出临时文件,然后将其用作gnuplot plot调用的输入来实现的.这会生成太多临时文件,并且当绘图上的更新速率很高(可能IO限制在某一点)时似乎不能正常工作.我决定在绘图调用中使用' - '伪文件,然后将向量直接发送到管道(以一行"e"结束).这效果更好,但仍然不是很好.

有没有雨衣的方式做什么,我试图做的比不断再生的情节,当值发生了变化?多久是安全更新与新的信息的情节?或者,也许有一种更简单的方法来实现我想要做的事情?

@Andy Ross

我本身没有"要求".浮石的意思是,在使用gnuplot时,可能有一种更优雅的方法来做我正在尝试的东西.虽然优雅是主观的,但我发现我目前采用的方法特别不优雅.我所说的安全之处在于,是否有人知道在采用所述方法的IO问题(例如,延迟,显示器锁定等)的更新速率.

我想避免使用工具包,原因如下(至少我的短名单).

  • 我发现在不同的体系结构上安装它们通常是非常重要的,特别是作为非root用户(当它们需要跨操作系统不是标准的依赖时).
  • 它们会对使用此软件的其他人产生额外的编译依赖性.
  • 大多数人似乎没有任何真正的标准用于此目的(我自己以及我工作的大多数人通常只保存日志类型文件并在MATLAB中进行运行后分析).
  • 我知道/学习gnuplot语法.我不知道superPlottingApiXX的语法.
  • gnuplot的功能集几乎适用于我希望能够使用此软件的各种类型的东西.

但是,如果您对C/C++绘图库有任何特别的建议,考虑到上面的列表似乎很合适,我总是对建议感兴趣(警告:我已经找了很多东西找到它们).

c c++ visualization data-visualization gnuplot

9
推荐指数
1
解决办法
2736
查看次数

Gnuplot传奇订单

有人知道如何在不改变绘图命令顺序的情况下改变键内的顺序吗?默认情况下,密钥与各个图的标题具有相同的顺序.

例如:我首先绘制带有fillcu的错误带,然后将平均值绘制为实线.现在我有错误带标题在顶部(在键中),然后是实线的标题.但我想反过来说.

最好的祝愿

gnuplot

9
推荐指数
2
解决办法
4018
查看次数

使用gnuplot进行堆叠直方图

我正在尝试使用以下数据创建堆叠直方图:

8.01    1   5   1   
8.02    3   5   1
8.03    4   4   1
8.04    3   4   1
8.05    1   2   1
Run Code Online (Sandbox Code Playgroud)

我试图改编第四个例子中的脚本,现在我正在使用它:

set title "Test"
set key invert reverse Left outside
set key autotitle columnheader
set style data histogram
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75

plot 'test.dat' using 2:xtic(1),  '' using 2 title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3'
Run Code Online (Sandbox Code Playgroud)

我复制的部分我不确定using 2:xtic(1).我知道这使得它使用xtic值作为第一列,这就是我想要的.但我不知道这using 2部分代表什么.这是脚本生成的屏幕截图: …

gnuplot histogram

9
推荐指数
1
解决办法
1万
查看次数

Gnuplot,如何*跳过*丢失的数据文件?

根据各种因素,我可能没有一个或多个数据文件,在预定义的gnuplot绘图指令中引用,不存在.在这种情况下,我得到"警告:跳过不可读的文件",取消其余的说明.

有什么方法可以让gnuplot跳过任何丢失的数据文件并绘制所有现有的文件?

gnuplot

9
推荐指数
2
解决办法
3918
查看次数

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

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

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

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

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

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

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

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

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

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

charts symbols gnuplot shape

9
推荐指数
1
解决办法
2万
查看次数

如何将.png绘图发送到gnuplot中的stdout?

目前,我做了类似以下的事情:

set term png
set output 'file.png'
Run Code Online (Sandbox Code Playgroud)

但是脚本中的硬编码文件是非常不灵活的.有没有办法告诉gnuplot输出图像文件到stdout,所以我可以在需要的地方重定向它的输出?

bash gnuplot

9
推荐指数
1
解决办法
2869
查看次数

多色 - 在更大的画布上堆叠3个图形

我一直在尝试将3个图形叠加在画布上的多图布局中,并且比例为2:3(宽高比).

set terminal postscript eps enhanced "Helvetica" 24 color
set output "data.eps"
set timefmt "%s"

#set size 1.0,1.5
#set bmargin 2
#set tmargin 2

set size 1.0,1.5
set multiplot layout 3,1
set size 1.0,0.5

set tmargin 2
set bmargin 0
set ylabel 'Distance'
set format x ""
set ytics nomirror font "Helvetica,10"
set key top
plot "trace1.dat" using 1:3 axes x1y1 title "distances" with lines lw 2 lc rgb 'blue'

set size 1.0,0.5
set bmargin 0
set tmargin 0
set …
Run Code Online (Sandbox Code Playgroud)

gnuplot

9
推荐指数
2
解决办法
3万
查看次数

如何在gnuplot中的图表下方设置标题

例:

set title "title"
plot x
Run Code Online (Sandbox Code Playgroud)

这将绘制一个顶部带有标题的图表.我想在图表下移动标题.我该怎么办?更多,多色时同样的问题怎么样.我想为每个图下的每个小图移动标题.请注意,标题不是将放置在按键中的图表中的标题.非常感谢!

gnuplot title

9
推荐指数
1
解决办法
3万
查看次数

gnuplot边距如何在多点模式下工作?

我对gnuplot边距有点困惑.首先,我不知道这些东西指向的单位.它们是指向画布坐标还是它们是画布坐标的一部分.它们在gnuplot模式和多时隙模式下的行为是否相同?

在多时隙模式下绘制一些数据时出现问题.我正在密切关注屏幕(wtx终端).让我们说我正在搞糟糕的事情 - 我从画布上得到了阴谋,或者是非常小的难以理解的情节.

没有边距,第一个绘图是在画布顶部齐平,所以我自然想把它向下推.

有人可以解释gnuplot边距是如何工作的,以及它们在多点模式下的行为是否相同.

scripting plot gnuplot

9
推荐指数
1
解决办法
9772
查看次数