我是gnuplot的新手,在绘制堆积直方图时,我发现传说隐藏在数据背后.
有没有方法将图例放在数据上方?非常感谢你的帮助.编辑:我目前正在使用外部底部的设置键将图例放在外面,但这不是我想要的最佳解决方案.
我想将密钥移动到绘图中间的某个位置,所以我按照教程并使用以下脚本:
set terminal postscript eps enhanced color
set title "Risk of the loan"
set output 'simulation.eps'
set xlabel 'Initial loan value'
#set key height 24
set key 8,0.7
plot 'simulation.txt' using 1:2 title 'Discounted loan value' with lines lw 3,\
'simulation.txt' using 1:3 title 'VaR' with lines lw 3,\
'simulation.txt' using 1:4 title 'CVaR' with lines lw 3,\
'simulation.txt' using 1:5 title 'Probability of default' with lines lw 3
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,我得到:
ga1009@ga1009-dell:~$ gnuplot simulation.p
set key 8,0.7
^
"simulation.p", line 7: …Run Code Online (Sandbox Code Playgroud) 我在文件中有一些XYZ数据,我正在使用gnuplot来显示它.我正在创建一个热图,即.二维图,其中Z值使用颜色显示.现在我正在使用以下脚本:
set palette defined (0 "blue", 1 "red")
plot "xyz.dat" u $1:$2:$3 w image
Run Code Online (Sandbox Code Playgroud)
我的问题是,gnuplot忽略了调色板定义中的0和1.它使用指定的颜色,但根据文件中的最小和最大Z值重新调整.这使得难以在视觉上比较z范围不同的不同图.
如何告诉gnuplot停止重新调整z颜色范围?
例:

我想绘制一张图表,就像上面的图表一样:一条缺少数据点的线条,这意味着线条是不连续的.
我怎样才能做到这一点?
我正在尝试使用gnuplot可视化我拥有的数据集(在Java中,但这并不重要).我可以就此问一些不同的问题,但是现在:假设我的数据是分类的,对于每个类别,我有四分位数1,2,3,最小值和最大值,以及该类别中样本的总重量(但不是实际样本数据).我想用GNUplot'candlestick'来绘制这个.我几乎可以得到这个:

除了使用盒子宽度可视化样品的重量.
这可以在gnuplot'烛台'情节中完成吗?还有其他方法吗?
注意:我最感兴趣的是使用gnuplot.其他建议只有在它们易于编写脚本并且不需要安装太多其他软件时才受欢迎.
如果我添加一个xticlabel使用3行gnuplot切割在第二行的中间.有没有方法可以让xticlabels有几行?
这是我的数据文件:
"[17h30,19h00] 25" 1
"[03h30,10h00] 21" 1
"[03h00,12h00] 26" 2
"[18h00,19h30] 27" 3
"[20h30,22h00] 25" 4
"[13h00,14h30] 25" 4
"[19h30,21h30] 25" 5
"[14h30,16h00] 25" 5
"[16h30,18h00] 25" 5
"[09h30,15h00] 25" 9
Run Code Online (Sandbox Code Playgroud)
这是我的gnuplot代码:
set terminal postscript eps color
set output '| epstopdf --filter --outfile=hist.pdf'
set auto x
set yrange [0:10]
set style histogram clustered
set boxwidth 0.95 relative
set style fill transparent solid 0.5 noborder
plot 'hist.dat' using 2:xticlabels(1) with boxes lc rgb'blue90' notitle
Run Code Online (Sandbox Code Playgroud)
最后这是生成的图表:

我试图x!在gnuplot中绘制函数,我首先定义了阶乘函数然后调用它,但是我总是得到堆栈溢出,无论我设置为图形的界限.
这就是我尝试过的:
gnuplot> fac(n) = (n==0) ? 1 : n * fac(n-1)
gnuplot> plot [0:10][0:10] log(fac(x)), log(x**x)
stack overflow
Run Code Online (Sandbox Code Playgroud) 我有一个很长的gnuplot脚本.出于调试目的,我希望能够阻止此脚本的注释部分或使用"goto"语句.这可能吗?
我知道我可以用一个if声明:
if (1 == 2) {
commented-out-code
} else {
non-commented-out code
}
Run Code Online (Sandbox Code Playgroud)
这是唯一的解决方案吗?
我可以用Gnuplot 5.0绘制平行坐标图.例如:
plot "ranking_top10.dat" using 4:5:6:7:8:2 with parallel lt 1 lc variable
Run Code Online (Sandbox Code Playgroud)
将绘制5个轴和不同颜色的线条.但是,我想将键与每个行关联起来.例如,我想将一个键(字符串)与紫色线相关联,并在图中显示它.怎么做?
在使用PDL :: Graphics :: Gnuplot绘制数据时,我遇到了一个奇怪的效果.看来,一次只绘制有限数量的点replot.
考虑以下示例(15行,101分):
use strict;
use warnings;
use PDL;
use PDL::Graphics::Gnuplot qw/gpwin/;
my $win = gpwin('qt', persist => 1);
foreach my $a (1..15) {
my $x = sequence(101)/100;
my $y = $a*$x;
if ($a == 1) {
$win->plot({ linecolor => 'black' }, $x, $y);
}
else {
$win->replot({ linecolor => 'black' }, $x, $y);
}
}
Run Code Online (Sandbox Code Playgroud)
最后只使用21个点,显示所有15行.
首先,我认为只绘制了有限数量的线,但这不是真的,因为绘制线的数量取决于piddles的大小.
这是perl模块或Gnuplot的限制吗?有没有办法增加最大点数?这似乎是Gnuplots qt版本的问题.使用'x11'as终端不显示此限制(我测试了100行,101点没有任何问题).
此外,我测试相同的例子而不使用replot但是在一个单独的plot.
use strict;
use warnings;
use PDL; …Run Code Online (Sandbox Code Playgroud)