我是Gnuplot的忠实粉丝,我在各个项目的研究中都使用它.
最近我想用Gnuplot绘制一些时间序列,如减肥,锻炼结果,气体消耗等.
因此我像x轴一样缩放
set xdata time
set timefmt "%d.%m %Y"
set format x "%d.%m"
Run Code Online (Sandbox Code Playgroud)
现在我想使用fit-function来给我一个线性拟合.我的问题是,如果x轴与时间有关,我就无法工作.
我正在尝试由3个坐标组成的绘图数据集:X坐标,x坐标和出现次数.例:
1 2 10
3 1 2
3 2 1
Run Code Online (Sandbox Code Playgroud)
我想在x,y处为每一行画一个点,其直径取决于第三个值.
这可能与Gnuplot有关吗?
我正在为大学工作这个编程任务,我们必须编写一个c++程序来计算3D空间中某些线圈的磁场矢量.
我已经设法写了这个程序,我想我已经很好地工作了.
我想添加一个特殊的薄片(这是我的试卷,所以它必须特别好!):我不想绘制出矢量.
我习惯于gnuplot从c++(通过管道)打电话,这就是我通常做的事情:
.dat文件的输出流.dat由于我的数据一直是2D x和y情节,我在这里很丢失.我的问题是:
.dat文件(例如,我是否使用大括号对矢量组件进行分组?)如果我可以.dat像这样格式化文件很容易:
# Px Py Pz Bx By Bz
1 0 2 0.7 0.5 0.25 #<= example data line
... more data ...
Run Code Online (Sandbox Code Playgroud)
当点中的磁场矢量P=(1,0,2)等于矢量时B=(0.7,0.5,0.25).这很容易编程,真正的问题是:这样做吗?以及如何在gnuplot中绘制它.(哇,我猜了3次问同样的问题).
好吧,因为有人让我描述我如何管道(不知道这是否是正确的术语)gnuplot.这里是:
首先打开一个管道并调用它pipe:
FILE *pipe = popen("gnuplot -persist 2>/dev/null", "w");
Run Code Online (Sandbox Code Playgroud)告诉gnuplot管道要做什么:
fprintf(pipe, "set term x11 enhanced \n"); …Run Code Online (Sandbox Code Playgroud)例如,给定以下数据文件(此示例为x ^ 2):
0
1
4
9
16
25
Run Code Online (Sandbox Code Playgroud)
gnuplot可以绘制点以及点之间的差异,就好像它是:
0 0
1 1 # ( 1 - 0 = 1)
4 3 # ( 4 - 1 = 3)
9 5 # ( 9 - 4 = 5)
16 7 # (16 - 9 = 7)
25 9 # (25 -16 = 9)
Run Code Online (Sandbox Code Playgroud)
实际文件不仅仅包含我感兴趣的列,如果可能的话,我想避免预处理以添加增量.
如果有人能帮助我制作一个体面的情节,我会很高兴
我希望获得这样的东西可能在单个地块之间的利润较少

所以我先画这个
我用gimp手动编辑它以删除不必要的抽搐和标签
我尝试在我的gnuplot脚本中取消设置标签和抽搐,但我得到的只是这些恶心的东西

这是gnuplot脚本产生了可怕的情节,我不明白如何修复单个窗口的尺寸,以便它们的尺寸相同
#set terminal eps color enhanced
set multiplot layout 3,3
set yrange [0:0.45]
set nokey
set ylabel "rmsf/nm"
unset xtics
set title "62A 310K"
plot "data1a" u (($1+178)/3):($2/10) w l, "data1b" u ($1):($2/10) w l
unset ylabel
unset xtics
unset ytics
set title "62P 310K"
plot "data2a" u (($1+178)/3):($2/10) w l, "data2b" u ($1):($2/10) w l
set title "62T 310K"
unset xtics
unset ytics
plot "data3a" u (($1+178)/3):($2/10) w l, "data3b" u ($1):($2/10) w l …Run Code Online (Sandbox Code Playgroud) 我正在使用gnuplot绘制一些数据曲线,它们看起来像这样:

但是,图例中的线条样本太薄.如果有更多曲线,则很难区分颜色.您可以使用"linewidth"增加曲线的粗细,例如,通过在plot命令中添加"lw 3",您就可以得到:

然而,这增加了各处的厚度.是否可以仅在图例中使线条变粗?我知道它可以通过对输出.png文件进行后处理来"完成另一种方式".但有没有直接的方法,使用一些gnuplot设置/魔法?
如何为主网格(xtics,ytics)定义一种格式,为次要抽搐(mxtics和mytics)定义另一种格式?
我试过了:
set style line 100 lt 1 lc rgb "gray" lw 2
set style line 101 lt 1 lc rgb "gray" lw 1
set grid xtics ytics ls 100
set grid mxtics mytics ls 101
Run Code Online (Sandbox Code Playgroud)
但这需要为所有网格定义最后一个lw(1).
我对gnuplot相对较新,我正在尝试绘制一些数据并将其保存到png文件中以获取报告.我正在使用exec("gnuplot")从java程序运行gnuplot但是每当我尝试从文件中读取数据并绘制它时,该图包含数据文件的完整路径名并将其打印在我的部分绘图上.
这使得情节看起来相当难看,不适合我的报道.是否有一个命令或其他东西我可以用来删除路径名称,还是我必须使用Photoshop在生成.png后手动渲染它?
如何将图形保存到文件中并将其打印显示?我试过了:
#!/usr/bin/gnuplot -p
date=system("date +%F_%T | sed 's/:/-/g'")
set term png
set output date.".png"
set term x11
set out
plot sin(x)
Run Code Online (Sandbox Code Playgroud)
PS:有可能保存在gnuplot窗口中显示的图形吗?我注意到有复制到剪贴板按钮但没有保存.
我使用gnuplot绘制一张带有4个不同图形的图片.它们的x和y轴的标签具有相同的含义.如果我这样绘制:
set multiplot layout 2,2 rowsfirst
set xlabel "x"
set ylabel "y"
set title offset -3,-3
set xrange [20:70]
set yrange [0:15000]
set title "Plot 1"
plot 'data5.list' u 2:1 w lp pt 7 lt 7 lc rgb 'red' notitle
set xrange [20:70]
set yrange [0:15000]
set title "Plot 2"
plot 'data5.list' u 2:1 w lp pt 7 lt 7 lc rgb 'red' notitle
set xrange [20:70]
set yrange [0:15000]
set title "Plot 3"
plot 'data5.list' u 2:1 w lp …Run Code Online (Sandbox Code Playgroud)