标签: gnuplot

GNUPlot:绘制不同风格的不同范围

我知道这应该很简单,但我找不到类似的例子.

我需要以不同方式绘制不同范围的数据文件,但需要在同一图表上.

例如,假设我的数据文件表示具有x和y值的函数.我想使用类似线条的样式绘制前N个值,然后使用不同的样式(如点)绘制下一个M值.

我以为我需要一个类似于此的绘图命令:

plot [1:5] "my.data" using 1:2 with lines, [6:12] using 1:2 with points, [13:19] using 1:2 with lines
Run Code Online (Sandbox Code Playgroud)

基本上我想区分功能的不同区域.

有任何想法吗?我很抱歉,如果这听起来像是在漫无边际,但我很难过.

提前致谢!

gnuplot

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

如何在Octave中绘制和显示正方形?

我无法在Octave中绘制一个正方形.我不能强制同等比例的轴,所以我得到一个矩形代替:

在此输入图像描述

以下试验不起作用:

x = [0, 1, 1, 0, 0]';
y = [0, 0, 1, 1, 0];
plot(x, y), axis equal, axis([-1,2, -1,2])
% figure('Position', [10,10,100,100]); %[startx,starty,width,height]
% plot(x, y)
Run Code Online (Sandbox Code Playgroud)

可能我需要指定一个固定的窗口大小和相同的缩放轴.当第一个这样的显示窗口显示正确的方格时,我会感到满意.奢侈的解决方案会使窗口(或其内容)不能以交互方式调整大小.

备注:

  1. 我在Windows XP上安装了Octave 3.2.4.
  2. Stackoverflow 中的建议不起作用.

matlab gnuplot octave

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

bash在循环"〜$./ program> file.dat"时删除我的文件(gnuplot)

我在bash上做一些脚本用gnuplot绘制数据.但它不起作用.

我有一个程序将数据抛出到命令行.我在文件上收集数据,然后我循环这个过程以获得所需的结果.说我有这个脚本

 N = 10
 ./program.exe > data_$N.dat # Creating the data to be plotted
 for ((i = 0 ; i<1 ; i++)) do # Dummy loop to throw all together to gnuplot
  echo "set size square"
  echo "set xrange[-$N-1:$N+1]; set yrange[-$N-1:$N+1];"
  echo "plot '-' using 1:2"
  for((j = 0 ; j <= 9 ; j++)) do
   # Throwing the data to gnuplot
   echo "cat data_$N.dat" 
   # Updating the file and overwriting on it
   echo "cat data_$N.dat | xargs ./program.exe …
Run Code Online (Sandbox Code Playgroud)

bash gnuplot computation

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

如何将点数削减到一定值以下

我有一个数据文件,我想用gnuplot绘图.但是,对于y轴,我希望gnuplot忽略某个值以下的所有点.有没有一种简单的方法可以做到这一点,尤其是数据文件庞大?

gnuplot

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

Gnuplot,图线颜色

在gnuplot中,我绘制如下图:

gnuplot> set title "Performance analysis" font ", 16"
gnuplot> set xlabel "Array size" font ", 14"
gnuplot> set ylabel "Time, milliseconds" font ", 14"
gnuplot> set xrange [0:25]
gnuplot> set yrange [0:6300]
gnuplot> set xtics (5, 9, 11, 13, 15, 17, 19, 21, 23)
gnuplot> set ytics (88, 296, 433, 835, 1067, 1516, 2592, 3920, 6214)
gnuplot> set style line 1 linecolor rgb "blue"
gnuplot> plot "file.dat" using 1:2 title "Graph" with lines
Run Code Online (Sandbox Code Playgroud)

它很好,但我的图形的线条颜色仍然是红色(默认),请你帮我设置为蓝色.

gnuplot

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

在Gnuplot线图中的特定值上显示标记

我的文件中包含CDF的数据,如下所示:

0.033 0.0010718113612
0.034 0.0016077170418
0.038 0.0021436227224
...  ...
...  ...
0.847 0.999464094319
0.862 1.0
Run Code Online (Sandbox Code Playgroud)

第一列是X轴值,第二列是Y轴上的CDF值。我将线条样式设置如下:

set style line 1 lc rgb 'blue' lt 1 lw 2 pt 7 ps 0.75   # --- blue
Run Code Online (Sandbox Code Playgroud)

然后用以下内容绘制线:

plot file1 using 1:2 title 'Test Line CDF' with linespoints ls 1
Run Code Online (Sandbox Code Playgroud)

一切正常,问题似乎是我的CDF文件很大(大约250行),Gnuplot会为每个数据点绘制标记/点(在这种情况下为圆)。由于标记的浓度过高,因此这导致一条非常“密集”的线,因此下面的示例图片中显示了下面的线几乎不可见:

在此处输入图片说明

我如何有选择地绘制标记,以便代替在所有数据点上绘制它们,而在每50个数据点后绘制它们,而不必减少数据点的数量(我相信这是"every n"plot命令的工作)。我的数据文件还是减小标记大小?

gnuplot linestyle cdf

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

如何获得自动生成的gnuplot抽搐之间的距离?

我正在使用gnuplot做大量的情节.由于数据范围(对于x和y轴)对于每个图都是可变的,我需要让gnuplot自动设置范围和抽搐.但是,我需要在绘图下放置一个定义的网格,水平线每个1/8单位,垂直线1/4单位.当我让gnuplot决定在哪里放置抽搐时,我不知道两个抽搐之间的距离(以单位为单位)因此,我不知道我应该在m {x | y} tics中进行的细分数量期望的输出.

例如:如果我每两个单位都有一个ytic,我需要"设置mytics 8".如果我每个单位都有一个ytic,我需要"设置mytics 4".

那么,有什么办法可以获得自动放置抽搐之间的距离?甚至是绘制抽搐的数量?

gnuplot

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

gnuplot:如何使用x1y2的轴绘制箭头

我们可以使用以下方法绘制箭头:

set arrow 1 from 0,-5 to 0,5
Run Code Online (Sandbox Code Playgroud)

但是,from和to位置使用的是x1y1轴。

如何让位置使用x1y2轴?我的y2轴不同于y1轴。

gnuplot axes

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

Gnuplot自定义图例有两种不同的规格

我想要一个与每个绘制线无关的gnuplot中的键,而是代表每一行的规格.

基本上我想要的是键中的三条彩色线代表我正在使用的三种算法.然后用三种形状来表示每种算法的误差界限.

所以我的密钥看起来像这样:

红线 - alg 1

蓝线 - alg 2

绿线 - alg 3

三角形 - 5%

圈 - 3%

平方 - 1%

我的图表中有9行是颜色和形状的组合,但我不希望我的图例有所有9行,只是代表性的规格.

我希望这是有道理的.如果您需要更多说明,请与我们联系.

我没有找到很多资源来制作一个独立于我的绘制线的关键,所以我只得到为每一行设置'notitle'.

当前图表

gnuplot legend

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

GNUPLOT与VBA - STDERR去了哪里?

我在VBA的范围内运行Gnuplot,效果出奇的好.我可以使用GNUPLOT和Word VBA生成一本大约一百个图表的书.(使用Excel图表,我可能得到大约四个)

有一个小问题 - 在VBA下运行时,STDERR会消失,或者没有被创建.没有诊断.

鉴于以下小型GNUPLOT脚本,

set key bmargin left horizontal Right noreverse enhanced autotitle box lt black linewidth 1.000 dashtype solid
set samples 800, 800
set title "Simple Plots" 
set title  font ",20" norotate
DEBUG_TERM_HTIC = 119
DEBUG_TERM_VTIC = 119
plot [-30:20] sin(x*20)*atan(x)
Run Code Online (Sandbox Code Playgroud)

我的VBA代码将其写入临时文件并尝试运行它.VBA生成

"C:\temp\Gnuplot\bin\gnuplot.exe" C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E0.txt 2>"C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E2.err"
Run Code Online (Sandbox Code Playgroud)

然后使用Windows Shell运行它,如下所示调用:

Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)

然后

wsh.Run x, 0, True ' x contains the generated GNUPLOT expression
Run Code Online (Sandbox Code Playgroud)

GNUPLOT执行完美.

在GNUPLOT表达式中,第一项是GNUPLOT程序的位置,在我的系统上恰好是"C:\temp\Gnuplot\bin\gnuplot.exe".第二个文件是在Microsoft官方位置生成的临时文件C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E0.txt.最后是STDERR的位置,2>"C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E2.err"其中2>表示这是STDERR,而不是正常输出STDOUT.

现在假设我在GNUPLOT源中引入了一个故意的错误,我希望写一个包含类似内容的错误文件

scooby …
Run Code Online (Sandbox Code Playgroud)

vbscript vba gnuplot excel-vba word-vba

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

标签 统计

gnuplot ×10

axes ×1

bash ×1

cdf ×1

computation ×1

excel-vba ×1

legend ×1

linestyle ×1

matlab ×1

octave ×1

vba ×1

vbscript ×1

word-vba ×1