我想要一个存储数据和gnuplot命令的.plt文件.我的数据看起来像
# x1 y1 x2 y2
1 2 3 4
5 6 7 8
Run Code Online (Sandbox Code Playgroud)
并且对应于两个图:(x1,y1)和(x2,y2).
我知道我可以使用"-":
plot "-" using 1:2
# x1 y1 x2 y2
1 2 3 4
5 6 7 8
e
Run Code Online (Sandbox Code Playgroud)
但这只会产生一个图,即(x1,y1).我正在尝试做类似的事情
plot "-" using 1:2, "-" using 3:4
# x1 y1 x2 y2
1 2 3 4
5 6 7 8
e
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用,因为gnuplot期望第二个标准输入的一组新数据"-".
笔记:
reread但需要两个文件.我真的只想要一个文件.我有一个数据文件,列出了某个缓存系统的命中和未命中.以下是数据文件格式
时间命中未命中
1 12 2
2 34 8
3 67 13
...
要在GNUPlot中绘制时间与命中的2D图形,命令将为:
plot "data.dat" using 1:2 using lines
Run Code Online (Sandbox Code Playgroud)
现在我想绘制时间与命中率的关系图,为此我可以为第二列做一些计算,如:
plot "data.dat" using 1:2/ (2 + 3) using lines
Run Code Online (Sandbox Code Playgroud)
这里1,2,3表示列号.
任何对这些图形绘图的引用也将受到赞赏.
提前致谢.
我实际上是使用orgmode导出,所以我的数据只是org-table形式; 那不应该.就像这样:
| Time | Video | Presentation | Paper |
|-------+-------+--------------+-------|
| 0 | 0 | 0 | 0 |
| 20 | 54 | 63 | 38 |
| 31.25 | 72 | 81 | 44 |
| 33. | 83 | 89 | 49 |
| 34. | 95 | 101 | 54 |
| 36.5 | 102 | 112 | 59 |
Run Code Online (Sandbox Code Playgroud)
这是为了工作,我正在绘制文件下载超过自提供后的小时数.我们努力在t = 28小时将人们指向这些文件,我想在那里找到一个与垂直线匹配的自定义标记,这样我就可以引起注意并在宣传工作之前和之后显示下载.因此,我的gnuplot代码如下所示:
set title "File Downloads"
set xlabel "Time Since Posting (hrs)"
set …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的数据文件:
A 0.2 0.5
B 0.65 0.8
C 0.4 0.2
Run Code Online (Sandbox Code Playgroud)
即,它包含三列,其中第一列包含标签,另外两列包含浮点值.列由空格分隔.
我想以这样的方式绘制图标,使标签在x轴上显示为抽搐,而将列绘制为彼此叠加的两个不同颜色的条形图.
如何使用Gnuplot实现这一目标?
在GnuPlot中:
如何将xtics设置为每月1日?
设置xtics对我来说不起作用,因为每月的秒数变化.
set xmtics对我来说不起作用,因为几个月没有显示数年,并且没有显示哪一年属于一个月.
我是gnuplot的新手,我很难找到一些命令的含义.我想绘制一个csv文件,其中行是数据点,三列分别代表数据标签,x值和y值.我希望x轴上的第二列和y轴上的第三列以及第一列作为附加到该点的标签.这是数据
ACB, 0.0000000, 0.0000000000
ASW, 1.0919705, -0.0864042502
CDX, 0.0000000, 0.0000000000
CEU, -0.4369415, -0.5184317277
CHB, -0.4686879, 0.7764323199
CHD, 0.0000000, 0.0000000000
CHS, -0.4141749, 0.7482543582
CLM, -0.2559306, -0.2535837629
FIN, -0.5004242, -0.2108050200
GBR, -0.4140216, -0.5132990203
GIH, 0.0000000, 0.0000000000
IBS, -0.4928541, -0.5812216372
JPT, -0.4821734, 0.7263450301
KHV, 0.0000000, 0.0000000000
LWK, 1.4515552, -0.0003996165
MKK, 0.0000000, 0.0000000000
MXL, -0.4019733, -0.0484315198
PEL, 0.0000000, 0.0000000000
PUR, -0.2165559, -0.3173440295
TSI, -0.3956957, -0.4549254002
YRI, 1.5555644, -0.0202297606
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
plot 'infile' using 2:2 with labels, 'infile' using 1:2
Run Code Online (Sandbox Code Playgroud)
但它报告"这种风格没有足够的列".我真的不知道冒号周围的数字是什么意思,虽然我在别人的代码中到处看到它们.
我的问题很简单.假设我有一个带有列标题的数据文件,如下所示
first second
1 1
2 1
3 6
4 9
Run Code Online (Sandbox Code Playgroud)
在gnuplot中我如何使用列标题作为轴标签来绘制数据文件?例如通过电话
plot datafile using 1:2
Run Code Online (Sandbox Code Playgroud)
我得到了xaxis标签first和yaxis 标签second?
编辑:我知道我可以使用列标题作为键输入set key auto title column head,但这不是我正在寻找的.
我经常使用wxtGnuplot 的终端进行一些快速的数据检查.我喜欢交互性,这样我就可以轻松获得控制和缩放/移动等等.
假设我必须遵循脚本
set terminal wxt 0 persist
plot x
set terminal wxt 1 persist
plot x**2
Run Code Online (Sandbox Code Playgroud)
现在,在窗口1上,我有了交互式控件.但是,在窗口0上,此交互式控件将丢失.
我的问题是:如何在窗口0上获得交互式控制?
我在用gnuplot 4.6.2.我已经看到gnuplot多个图形不是交互式的,但关于x11终端的问题,答案包括打开多个实例gnuplot,这对我来说似乎没有必要.
我正在绘制gnuplot中的图形,并希望以全屏和特定大小打开它们.
以前,我一直在多色模式下输出图形并使用重读来更新它们; 因此,当我手动最大化时,绘图会在几次迭代后填满屏幕.现在,我还想将输出保存为文件.当我打开该文件时,它与原始多画面输出的大小相同.但是,当我最大化它时,绘图的大小不会增加以填充屏幕.我有两个问题:
这是我当前的gnuplot代码(在一个名为gnuplotCode的文件中):
set terminal pngcairo dashed enhanced
set output 'foo.png'
set multiplot layout 3, 3
plot for [iter=1:9] path/to/file using 1:(column(iter)) notitle
unset multiplot
unset output
pause 10
reread
Run Code Online (Sandbox Code Playgroud)
我试图键入以下内容:
gnuplot -geometry -3360-1050 gnuplotCode # where my screen size is 3360x1050
Run Code Online (Sandbox Code Playgroud)
和:
resolution=$(xrandr | grep '*') && resolution=${resolution% *}
gnuplot -geometry $resolution gnuplotCode
Run Code Online (Sandbox Code Playgroud)
但这两种方法都不奏效 请问您能告诉我如何以全屏和特定大小打开gnuplots吗?谢谢.