标签: gnuplot

如何通过指定Gnuplot脚本中的所有点来绘制没有单独文件的数据?

我的程序生成调用gnuplot的bash脚本.我不想制作额外的文件来存储数据; 有什么办法可以明确地调用所有值吗?或者可能让bash创建一个临时文件.

就像是

plot {(1,5),(2,10),(3,1)}
Run Code Online (Sandbox Code Playgroud)

是我在找什么.

gnuplot

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

gnuplot:如何在轴上使用*(10 ^ b)格式

我在x轴上使用了非常大的数字(数百万),所以当我使用时

set format x %6.0f
Run Code Online (Sandbox Code Playgroud)

我得到了像25000000这样的大数字.这是相当不错的,但需要很大的空间,所以只有很少的标签和读者丢失信息.

当我排除设置格式时,我会得到像2e + 07这样的东西,根据我的观点,对于读者来说,这是非常不友好和不寻常的.

我想格式化为25*(10 ^ 6),所以数字将是第一个,然后乘以10 ^ n,或类似的东西.如果x轴长约30000000点甚至更多,我认为这将是最好的解决方案.

但是,阅读手册,例如"如何更改数字的格式?" 来自http://t16web.lanl.gov/Kawano/gnuplot/tics-e.html并没有给我太多帮助.

先感谢您.

axis gnuplot scale

31
推荐指数
2
解决办法
4万
查看次数

如何在gnuplot中设置相等比例的长度

嗨是否有可能在gnuplot中设置比例,以便scaleX和scaleY的长度相同?我尝试了不同的技巧(设置大小,设置比率等),但即使scaleX和scaleY的范围相同 - 这些标度的长度也不同.看起来范围从0到1(在scalex上)的长度大于从0到1的范围的长度(在scaleY上).

plot gnuplot

30
推荐指数
3
解决办法
6万
查看次数

gnuplot:在y轴上绘制一个包含4列的文件

我有一个包含4个数字(最小值,最大值,平均值,标准推导值)的文件,我想用gnuplot绘制它.

样品:

24 31 29.0909 2.57451
12 31 27.2727 5.24129
14 31 26.1818 5.04197
22 31 27.7273 3.13603
22 31 28.1818 2.88627
Run Code Online (Sandbox Code Playgroud)

如果我有一个列有4个文件,那么我可以这样做:

gnuplot "file1.txt" with lines, "file2.txt" with lines, "file3.txt" with lines, "file4.txt" with lines
Run Code Online (Sandbox Code Playgroud)

它将绘制4条曲线.我不关心x轴,它应该只是一个恒定的增量.

我怎么能请情节?我似乎无法找到一种方法,有4条曲线,1个文件有4列,只有一个不断递增的x值.

谢谢.

gnuplot curves

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

在OSX上安装gnuplot 5.0.1

我从source forge 页面下载了gnuplot 5.0.1(gnuplot-5.0.1.tar.gz)的源文件.我还在我的OS X 10.7.5上安装了命令行工具,以便我拥有gccmake/usr/bin文件夹中.

我遵循的安装说明INSTALL.gnu的压缩包文件:我跑的configure文件和类型make,make check,make install,和make clean.使用这些命令,gnuplot位于/usr/local/bin/.

make check在测试许多gnuplot脚本之前,该命令会在shell中输出很多行.我实际上可以想象这些情节,我认为"很好,它有效".所以我打开了一个新的终端shell并键入gnuplot以开始使用它(终端自动设置为qt).一个简单的plot sin(x)失败.Gnuplot返回以下消息:

Could not start gnuplot_qt with path "/usr/local/libexec/gnuplot/5.0/gnuplot_qt" 
Could not start gnuplot_qt with path "/usr/local/libexec/gnuplot/5.0/gnuplot_qt" 
Could not connect to gnuplot_qt "" . Starting a new one 
Could not start gnuplot_qt with path "/usr/local/libexec/gnuplot/5.0/gnuplot_qt" 

Warning: slow font initialization  .  . …
Run Code Online (Sandbox Code Playgroud)

macos gnuplot command-line-tool

30
推荐指数
3
解决办法
7万
查看次数

GnuPlot中的线图,其中线条颜色是我的数据文件中的第三列?

我有一个如下所示的数据文件:

1 1.0 0
2 1.5 0
3 0.0 1
4 1.2 2
5 1.0 1
6 1.1 1
Run Code Online (Sandbox Code Playgroud)

第一列是我的X值,第二列是我的Y值,第三列是颜色.我想根据第三列对每个线段进行着色.所以前两个线段是"颜色1",下一个是"颜色2",下一个是"颜色3",最后两个再次是"颜色1".

我试过了:

plot 'file.dat' using 1:2:3 with lines rgb variable;
Run Code Online (Sandbox Code Playgroud)

但我的线条全黑了.

这可能在gnuplot中吗?

谢谢,加布

plot graph gnuplot

29
推荐指数
3
解决办法
4万
查看次数

如何在gnuplot中绘制垂直线?

例如,如果我有一个图表,并希望沿X轴每10个单位添加垂直线.

gnuplot

29
推荐指数
4
解决办法
10万
查看次数

绘制超过200万行平面文件数据的最快速,最灵活的方式?

我在flatfile中收集一些系统数据,其格式如下:

YYYY-MM-DD-HH24:MI:SS DD1 DD2 DD3 DD4
Run Code Online (Sandbox Code Playgroud)

其中DD1-DD4是四项数据.该文件的一个示例是:

2011-02-01-13:29:53 16 8 7 68
2011-02-01-13:29:58 13 8 6 110
2011-02-01-13:30:03 26 25 1 109
2011-02-01-13:30:08 13 12 1 31
2011-02-01-13:30:14 192 170 22 34
2011-02-01-13:30:19 16 16 0 10
2011-02-01-13:30:24 137 61 76 9
2011-02-01-13:30:29 452 167 286 42
2011-02-01-13:30:34 471 177 295 11
2011-02-01-13:30:39 502 192 309 10
Run Code Online (Sandbox Code Playgroud)

该文件超过200万行,每五秒钟有一个数据点.

我需要绘制这些数据,以便能够从中获得意义.

我试过的

目前我已尝试使用各种unix工具gnuplot和rrdtool(awk,sed等).这两种方法都有效,但每次我想以不同的方式查看数据时,似乎都需要大量的切割和重新编辑数据.我的直觉是rrdtool是正确的方法,但目前我正在努力将数据快速地加入其中,部分原因是因为我必须将我的时间戳转换为Unix时代.我的理解是,如果我决定我想要一个新的聚合粒度,我必须重建rrd(这对于实时收集是有意义的,但不是像这样的追溯加载).这些事情让我觉得我可能正在使用错误的工具.

将数据收集到平面文件是固定的 - 例如,我无法将集合直接传递到rrdtool.

我的问题

我希望人们对制图的最佳方式有所了解.我有这些要求:

  1. 它应该尽可能快地创建一个图形(不仅仅是渲染,而是设置为渲染)
  2. 它应该尽可能灵活 - 我需要使用图表来计算出数据的最佳粒度(5秒可能过于细化)
  3. 它应该能够在必要时聚合(MAX/AVG/etc)
  4. 它应该是可重复的,并且当它们进入时会有新的数据文件
  5. 理想情况下,我希望能够在本周与DD1重叠DD1与DD2或DD1
  6. Unix或Windows,不在乎.首选*nix虽然:-)

有什么建议?

r graph gnuplot flat-file rrdtool

29
推荐指数
3
解决办法
4414
查看次数

Gnuplot x轴分辨率

我试图在gnuplot中绘制一个对数周期函数:cos((log(abs(t-Tc))*PI/log10(lambda)+ phi)

但由于log(x)的性质接近x = 0,情节越来越难看.

如何在gnuplot中绘制对数周期函数,使其看起来不错?

我的剧情脚本如下所示:

phi = 1
TcFormated = 9.67e+8
lambda = 2
PI = 3.1415

g(t) = abs(cos((log(abs(t-TcFormated))*PI/log10(lambda) ) + phi))

set tmargin at screen 0.01
set bmargin at screen 0.99
set lmargin at screen 0.01
set rmargin at screen 0.99

set xrange [8.4e+8:1.04e+9]
set yrange [0:1]
unset xtics
unset ytics
plot g(x) t '' w l

pause -1
Run Code Online (Sandbox Code Playgroud)

对数周期函数

设定后:

set samples 10000
Run Code Online (Sandbox Code Playgroud)

我有一个更好看的图表: log-periodic函数,设置样本10000

gnuplot

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

如何使用Gnuplot中一个文件的标题绘制几个数据集?

假设我有一个如下所示的文件:

"p = 0.1"
1 1
3 3
4 1


"p = 0.2"
1 3
2 2
5 2
Run Code Online (Sandbox Code Playgroud)

是否有可能使Gnuplot在一个图中绘制这两个数据集,并在每个数据集的第一行给出标题?

gnuplot

29
推荐指数
2
解决办法
4万
查看次数

标签 统计

gnuplot ×10

graph ×2

plot ×2

axis ×1

command-line-tool ×1

curves ×1

flat-file ×1

macos ×1

r ×1

rrdtool ×1

scale ×1