我用gnuplot来计算货币数据,目前我已经设法将y轴上的标签设置为没有小数的浮点值(而不是指数)但是我希望能够在标签上添加逗号,但我不能弄清楚如何.
有任何想法吗?
即当前的输出给我2500英镑 - 正如你所看到的,数据没有分组 - 我想把它分成数千,所以它看起来像25,000,000英镑.
编辑:我目前的设置是
set format y '£%.0f'
我试图使用gnuplot和多色插图并排放置两个数字.我希望得到的图像是矩形的,所以我使用设置大小2,1.我还设置了设置多色布局1,2选项.但是,生成的图像仅使用可用空间的左侧部分.任何帮助将不胜感激.谢谢艾哈迈德
这是最终的图像 http://tinypic.com/r/33mlz04/6
以下是我正在使用的gnuplot命令.
set terminal postscript eps color enhanced set output 'figure.eps'; set size 2,1; set multiplot layout 1, 2 ; set title "Figure 1"; plot "data1.txt" set title "Figure 1"; plot "data2.txt" unset multiplot
虽然我不太确定,经过一些反复试验我已经解决了
set terminal postscript eps color enhanced
set output 'eps/image.eps';
set size 1,0.5;
set multiplot layout 1, 2 ;
set title "Figure 1";
set size 0.5,0.5;
plot "data/data1.txt"
set title "Figure 1";
set size 0.5,0.5;
plot "data/data2.txt"
unset multiplot
我要将180000点绘制成一个EPS文件.使用标准gnuplot输出尺寸点彼此太靠近,这使得它们无法区分.有没有办法增加图像的宽度和高度?
你能帮我吗?我希望将一行类型更改为点线.我使用这些命令:
gnuplot> set terminal png size 750,210 nocrop butt font "/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf" 8
gnuplot> set output "/root/data.png"
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> set format x "%b %d"
gnuplot> set ylabel "item1"
gnuplot> set y2label "item2"
gnuplot> set y2tics
gnuplot> set datafile separator "|"
gnuplot> plot "/root/results.txt" using 1:2 title "item1" w lines lt 4, "/root/results.txt" using 1:3 title "item2" with lines
Run Code Online (Sandbox Code Playgroud)
但我总是得到洋红色线.我使用了版本4.6 patchlevel 0.感谢您的回复.
我正在使用GNUplot来绘制数据文件的轨道.我想使用,autoscale xy以便GNUplot脚本不需要根据数据进行编辑.但是,当我绘图时,autoscale没有设置xrange为相同yrange.这使得轨道看起来"被压扁".
我尝试过使用set size square和set size ratio -1
如何在gnuplot中设置相等比例的长度.
但这没效果.
无论如何强制autoscale使x和y范围相等?
谢谢!
我有时态数据,其中一些时间间隔仅包含缺失值.我想明确地显示那些缺失的值间隔.
现在,我的解决方案是检查值是否是NaN这样的:
plot file_name using 1:(stringcolumn(num_column) eq "NaN" ? 1/0 : column(num_column)) with lines,\
"" using 1:(stringcolumn(num_column) eq "NaN" ? 1000 : 1/0) with points
Run Code Online (Sandbox Code Playgroud)
这将导致绘制点y = 1000而不是缺失值的行,这会得到以下结果:
然而,这并不理想,因为a)我需要指定y绘制点的值,b)它非常难看,特别是当数据集的时间较长时.
我想生产这样的东西:
也就是说,用一种颜色完全填充这个间隔(可能与我的图像不同,有一些透明度).请注意,在这些示例中,只有一个缺失值的间隔,实际上在一个图上可以有任意数量的缺失值.
我搜索过这个,但我发现没有人遇到同样的问题(或者它可能是非常微不足道的事情).情况是,当在gnuplot中绘图时,与轴相同值的点与此重叠,结果非常难看.

我试图通过设置范围来修复它,但它没有帮助.是否有任何方法可以绘制点,使其显示在图像上,其中一半将保留在图形中,而另一半则位于轴和外部空白区域之下?谢谢!
本文档演示了如何检查变量是否先前已在gnuplot脚本中定义.
来自doc的示例:
a = 10
if (exists("a")) print "a is defined"
if (!exists("b")) print "b is not defined"
Run Code Online (Sandbox Code Playgroud)
但是,是否可以检查先前是否已定义过某个功能?
换句话说,有没有办法做到以下几点:
f(x) = 2*x
if (exist("f(x)") print "Function is defined"
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想根据函数图的 x 值更改图的颜色(即不是来自数据文件)。
例如,我定义一个调色板如下:
set palette defined ( 0 'purple', 1 'blue', 2 'green', 3 'yellow', 4 'orange', 5 'red' )
我希望sin(x)根据 [0:5] 范围内的 x 值使用我的调色板函数来使用颜色。
如何才能做到这一点?
对于那些已经使用了gnuplot和“ splot”命令的人,我认为这可能是一个非常简单的问题,但是由于现在是我使用该程序的第一天,我现在无法弄清楚。
我实现了将我的c ++项目链接到gnuplot,因此我可以使用以下格式创建Datafile.dat:
# Xcoord Ycoord Zcoord
1 2 1
2 1 1
3 1 1
3 2 2
3 3 3
Run Code Online (Sandbox Code Playgroud)
在我的C ++文件中,我这样做:
#include "gnuplot.h"
#include <iostream>
using namespace std;
int main() {
Gnuplot plot;
plot("set border 4095");
plot("splot \"C:/\\Users/\\lRaulMN/\\Desktop/\\Datafile.dat\" with lines");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这完美地工作,我明白了:

现在的问题是:考虑到我正在使用的5点,是否有任何方法可以在不必创建Datafile.dat的情况下绘制这些数字?
Because in the future, I'll have something like this in my code:
#include "gnuplot.h"
#include <iostream>
#include <vector>
using namespace std;
typedef struct {
double Time;
double X;
double Y;
double …Run Code Online (Sandbox Code Playgroud)