我现在要用GNUPLOT绘制一个10类直方图.由于类别的数量相对较大,我想自己指定不同类别的模式,而不是应用默认模式设置,使不同的类别易于区分,例如用虚线填充第一个类别,而第二个阴影填充等等.
是否可以使用任何参数来指定plot命令中的模式?任何提示/建议将受到高度赞赏.提前致谢.
最好的祝福!
我有一个文件,文件中的随机值介于-256到+256之间。每个条目都在新行中。我想用y轴上的文件中的值绘制此文件。我不知道执行plot命令时的条目数。有人知道这样做吗?
我有一个文本文件,其中包含2列数字,对应于(x,y)坐标.
4 1
4 5
1 1
1 5
2.5 3
Run Code Online (Sandbox Code Playgroud)
如何告诉gnuplot绘制这些点并用相应的行#标记每个点?(请记住,我将把它应用于一个包含100个点的更大的文件,所以我正在寻找一种自动执行的方法,而不是必须创建与行号对应的第3列数据).
我想在读取文件中的数据时使用"Best F""Worst F"等关键标题作为gnuplot 4.4图表,但我无法弄清楚如何放置空间,例如:
Generation Best_F Worst_F Average_F
5 4 9 5
4 3 9 4
Run Code Online (Sandbox Code Playgroud)
我尝试在文件"Best F","Best%20F""Best\F"中写入,但是当它们作为列标题读取时它们会被拆分,或者我看到丑陋的"%20".
plot for[col=2:4] data.dat using 1:col title columnheader(col)
Run Code Online (Sandbox Code Playgroud)
或者有没有办法进行字符替换,比如"Best_F"%"" - >"Best F"?replace("_","\",columheader(col))?
我正在使用终端wxt和pngcairo(没有乳胶).谢谢
我希望我的(gnu)情节有一个多行标题.我希望标题居中(即从最宽标题行的中心到边缘的距离应该相等),但不要让每一行独立于其他行,这是默认行为; 我希望标题行左对齐并且仅作为块居中.
我怎样才能做到这一点?
我正在努力解决以下问题.我有一个包含三列的文件x-coord,y-coord和count; 将其视为稀疏直方图,其中只有在输出时才输出一个点count > 0.
我想用GNUPLOTvia 来想象它
set palette defined (0 'white', 0.25 'blue', 0.5 'green', 0.75 'yellow', 1 'red')
plot 'file' w p pt 7 palette t ''
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好.现在,我想有一个对数颜色框,这样就可以将颜色映射到log(count).我可以欺骗它u 1:2:(log($3)),但颜色盒上的比例将会关闭.
使用set log cb实际上给了我一个错误:GNUPLOT抱怨数据是负数,而不是,我已经手动检查了有问题的文件.这是我从文件的简化版本中得到的错误,
gnuplot> set logscale cb
gnuplot> plot 'data.dat' w p pt 7 palette
Warning: empty x range [-0.226728:-0.226728], adjusting to [-0.228995:-0.22446]
color axis has cb coord of -3.20125; must be …Run Code Online (Sandbox Code Playgroud) 我有一个矩阵,output.dat:
0 0 0 0 0 0 3 7 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 11 16 6 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 7 8 4 16 4 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 2 5 11 3 1 0 0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我有一个轮廓图运行得很好,它为不同的值生成相同数量的颜色.
我想要的是在右侧生成标签,使每个块具有正确的颜色.
目前的结果:
我想要的是在每个块上都有这个值:
---- 300
---- 100
---- 70
---- 30
---- 10
---- 1
---- 0
编辑:当我添加此代码时:
set cbtics ('300' 300, '100' 100, '30' 30, '10' 10, '1' 1, '0.5' 0.5, '0.1' 0.1, '0.01' 0.01, '0' 0);
set palette defined (0.1 "#4CAF4F",0.3 "#65B443",0.5 "#7FBA38",0.7 "#98BF2D",0.9 "#B2C521",1.0 "#CBCA16",2 "#E5D00B",3 "#FFD600",4 "#FFC400",5 "#FFB300",6 "#FFA100",7 "#FF9000",8 "#FF7E00",10 "#FF6D00",30 "#F85A00",50 "#F14800",70 "#EA3600",90 "#E32400",100 "#DC1200",300 "#D50000")
Run Code Online (Sandbox Code Playgroud)
结果是不平衡的:
我希望刻度是均匀的,但无法成功.
我目前正在研究一个项目,以绘制我所在地的湿度和温度的发展.因此,我使用Raspbian Jessie和DHT-22的树莓派2.
最后它归结为每天一个文件,它将测量值存储在30秒内.该文件的名称如下; 2016-01-30_Temp_Hum_data并包含以下数据
2016-01-30-19:30:03 22.0 50.2
2016-01-30-19:30:34 22.0 50.2
2016-01-30-19:31:04 22.0 50.3
2016-01-30-19:31:35 22.0 50.3
2016-01-30-19:32:05 22.0 50.2
Run Code Online (Sandbox Code Playgroud)
而第一部分是时间戳,第二部分用空格分隔的是温度,接着是湿度.
现在我用以下脚本绘制它,该脚本由bash文件中的for循环调用,该文件迭代我上面描述的所有数据文件.
!/usr/bin/gnuplot
reset
# This command works for a linux computer. In linux, you need to specify the exact location of
# the font you want to use
set terminal png notransparent rounded giant font "/usr/share/fonts/msttcore/arial.ttf" 24 \
size 2600,960
# nomirror means do not put tics on the opposite side of the plot
set xtics nomirror
set ytics nomirror …Run Code Online (Sandbox Code Playgroud) 我想我们已经使用gnuplot了几十年.但是仍然没有好的方法来获得良好的视频输出gnuplot,对吗?我所做的是制作了大约30,000张图片(我必须使它具有良好的质量,以获得视频清晰度),然后用于ffmpeg制作视频:
ffmpeg -f image2 -r 10.0 -i capture.%d.png -qscale 1 filename.mp4
Run Code Online (Sandbox Code Playgroud)
但有一段时间我陷入其中或者需要很长时间.我们可能总是需要一个高质量和低文件大小的视频输出,为什么没有人试图做任何事情,或者有没有其他方法来制作视频输出gnuplot?我真的很难用高质量的视频制作gnuplot.