标签: gnuplot

C++和gnuplot

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

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

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

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

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

c++ gnuplot

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

多色 - 在更大的画布上堆叠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万
查看次数

如何使用非数字X轴绘制数据?

我有一系列性能测试,我想以图表的形式显示.我有一组测试(大约10个),我在一组组件(目前为3)上运行,并获得吞吐量结果.

Y轴将是测试的吞吐量结果,X轴应该具有测试的缩写名称,以及我正在测试的各种组件的结果.因此,对于每个X标签(例如,retrieve20Items,store20Items),在它上面将有3个不同的结果,一个用于我正在测试的三个组件中的每一个,每个组件在图例中进行颜色编码和引用.

这是非数字x轴,我可以使用gnuplot吗?这是在Linux平台上完成的,因此仅限Windows的工具对我不起作用.

plot gnuplot

8
推荐指数
1
解决办法
6264
查看次数

Gnuplot中的动态绘图(在MATLAB中绘制)

是否有可能在Gnuplot中创建动态图?我需要的是,由于数据是通过某个循环生成的,因此我将使用gnuplot在xy轴上放置一些标记,保留较旧的标记.因此,不知怎的,我将能够观察数据的演变,而不仅仅是看到最终的批量结果.

我特别想要的是等同于MATLAB中的"drawow"命令.

虽然不完全相关,但现在我使用常见的lisp来生成循环和cgn中的数据,以便使用gnuplot在lisp中绘制.(我可以使用cgn利用gnuplot在普通lisp中以批量形式绘制数据)

非常感谢您的关注.

编辑:我为此目的在共同的lisp中编写了一个代码.你可以在这里查看:
使用Common Lisp和Gnuplot从emacs顺序绘制数据
这个线程更通用,并在gnuplot中请求动态绘图.欢迎任何建议.

matlab plot gnuplot common-lisp octave

8
推荐指数
1
解决办法
2415
查看次数

使用gnuplot在同一图表上绘制两个数据集.一个是dgrid3d,另一个没有

我正在尝试使用gnuplot绘制两个数据集.它们都是(x,y,z)三元组.它们没有排列在网格上.我想使用dgrid3d和绘制其中一个pm3d.最重要的是,我想覆盖其他数据集,但只是分散点.

举一个更具体的例子:我试图绘制一个圆柱接近曲面的效果.我想绘制表面的响应,这dgrid3d就是派上用场的地方.最重要的是,我想绘制圆柱体的位置,并将其圆周作为点.

我用了:

set dgrid3d 100,100,4
set pm3d
splot "dataset1" with pm3d, "dataset2" with dots
Run Code Online (Sandbox Code Playgroud)

数据集大约有100x100点,排列在近广场上,因此100,100最适合这里.无论我如何绘制第二个数据集,它总是最终成为与圆柱相同尺寸的正方形,而不是一个漂亮的圆.当我关闭dgrid3d时,我可以自己绘制第二个数据集,结果是圆柱体的圆周.

所以我的问题是:是否可以使用两个数据集绘制3D图形,一个使用dgrid3d而另一个不使用它?

gnuplot

8
推荐指数
1
解决办法
5970
查看次数

gnuplot - pdf terminal - 设置unicode字符(太阳质量符号/ odot)

我正在尝试\odot在gnuplot(4.6.0)pdf终端中设置LaTeX 符号.这个的确切语法是什么?

在gnuplot的常见问题给出了一些线索,但我应该输入{/Symbol \2299},或者{/utf8 \2299},或者一些其他的变化\,/,#等?或者我应该这样做set encoding utf8?直接粘贴符号似乎不起作用.

我应该使用pdf或pdfcairo作为终端吗?后者以无法忍受的方式影响我的情节.

pdf unicode latex gnuplot cairo

8
推荐指数
2
解决办法
7586
查看次数

Gnuplot:单个图中有2个y轴的2个以上数据集

我想在一个图中绘制多个数据集:

plot "data1a.txt", "data1b.txt", "data1c.txt", "data2.txt"
Run Code Online (Sandbox Code Playgroud)

我想要两个具有不同范围的y轴.

yrange=[0:10]
y2range=[-10:10]
Run Code Online (Sandbox Code Playgroud)

如果您只有两个数据集,则可以在gnuplot上轻松完成.第一个数据集使用yrange(左侧有轴),第二个数据集使用y2range(右侧有轴).

现在问题就在这里.我想绘制的数据集data1a.txt,data1b.txtdata1c.txt使用yrangedata2.txt使用y2range.如何在具有两个y轴的单个图形上执行此操作?

plot gnuplot axes range

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

两个数据集的绘图分为两种不同的方式

我需要从.csv文件和空白分隔文件中绘制数据.两组数据都需要出现在同一个图上.

data1.dat

 #t   y
  1   1
  2   1
  3   1
Run Code Online (Sandbox Code Playgroud)

data2.csv

 #t,y
  1,2
  2,2
  3,2
Run Code Online (Sandbox Code Playgroud)

通常,如果两者都是.csv集,我会做以下事情:

 set datafile separator ','
 plot 'data1.csv' using 1:2,'data2.csv' using 1:2
Run Code Online (Sandbox Code Playgroud)

有没有办法在plot语句中包含分隔字符的设置?

plot 'data1.dat' using 1:2,'data2.csv' using datafile separator ',' using 1:2
Run Code Online (Sandbox Code Playgroud)

以上不起作用,我尝试了上述代码的许多不同变体....我没有运气.

gnuplot

8
推荐指数
2
解决办法
6816
查看次数

如何拆分gnuplot中的密钥?

在此输入图像描述

我在gnuplot中绘制了这张表.如你所见,钥匙应分为两部分.前4个键应保留在原位,但其余4个键应向下移动,以便它们不会交叉数据.

如何以这种方式拆分钥匙?

gnuplot

8
推荐指数
1
解决办法
5642
查看次数

如何使用C++程序中的gnuplot绘制图形

以下是我用于将数据(x和y坐标)写入文件的代码.

void display(){

    fstream out;
    outfile.open("Co_ordinates.txt",fstream::out | fstream::trunc);
    outfile.precision(6);
    for(int i=0;i<3000; i++){
        outfile<<fixed<<x[i]<<"   "<<fixed<<y[i]<<endl;
    }
    out.close();

}
Run Code Online (Sandbox Code Playgroud)

我想使用上面文件"Co_ordinates.txt"中的x和y坐标来绘制图形我已经从https://code.google.com/p/gnuplot-cpp/source/添加了gnuplot实用程序"gnuplot_i.hpp" browse/trunk/gnuplot_i.hpp.

我使用了gnuplot_i.hpp中定义的以下函数

/// plot x,y pairs: x y
    ///   from file
    Gnuplot& plotfile_xy(const std::string &filename,
                         const unsigned int column_x = 1,
                         const unsigned int column_y = 2,
                         const std::string &title = "");
Run Code Online (Sandbox Code Playgroud)

我添加了以下代码来绘制图形

const string s="Co_ordinates.txt";
Gnuplot& plotfile_xy(&s,1,2,'Grid');
Run Code Online (Sandbox Code Playgroud)

但是得到以下错误

错误:表达式列表在初始化程序[-fpermissive] |中被视为复合表达式 错误:从'int'|类型的右值开始,无效初始化'Gnuplot&'类型的非const引用

我已经尝试了几种形式的上述代码..但是得到错误.请提出一些解决方案..

c++ gnuplot

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

标签 统计

gnuplot ×10

plot ×3

c++ ×2

axes ×1

cairo ×1

common-lisp ×1

latex ×1

matlab ×1

octave ×1

pdf ×1

range ×1

unicode ×1