gpt4 book ai didi

linux - 带有 CSV 的 gnuplot 中的堆叠条形图

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:16 25 4
gpt4 key购买 nike

我是 gnuplot 的新手。我一直在尝试将 CSV 的内容绘制成各种格式,例如线条、框等。但是,由于我拥有的数据量和性质,CSV 中的各个字段/列在同一实例中具有有限数据时间,由于显而易见的原因,我看到他们在情节中重叠。我想问一下是否有任何方法可以突出显示所有图,也就是说,如果多列数据似乎共享相同的时间戳,有没有办法让我在前面看到最小值,在后面看到较大的值。一种可能的方法是堆叠条形图。

这是我输入的 CSV 的片段:

TimeStamp,Score_1,Score_2,Score_3,Score_4
13:48:24, 8800, 8796, 4, 10
13:48:29, 1500, 8896, 4, 900
13:48:33, 8900, 8896, 4, 0
13:48:41, 8900, 8896, 4, 0
13:48:43, 6900, 8896, 4, 5000
13:48:55, 8900, 8896, 4, 0
13:49:21, 8900, 8500, 4, 0
13:49:29, 2900, 8000, 1000, 2000
13:50:29, 1900, 8896, 4000, 0
13:55:29, 9000, 8896, 1400, 0
13:52:29, 900, 8896, 4, 0

到目前为止我尝试了什么:

INPUT_FILE=ARG1
set datafile separator ','
set key autotitle columnhead
set boxwidth 0.5 relative
set style fill solid 1.0 border -1

plot INPUT_FILE using 1:2 with boxes, \
"" using 1:3 with boxes, \
"" using 1:4 with boxes, \

#plot INPUT_FILE using 1:2 with lines, \
#"" using 1:3 with lines, \
#"" using 1:4 with lines, \

最佳答案

“带点”绘图将使您能够看到给定 Y 轴的所有合理不同的 X 值。合理与图表的缩放有关,因此请设置您的 yrange 和 zrange 以显示所需的最小 View 。

plot "blah" using 1:2 with dots
set xrange [0-10000]
set yrange [0-10000]

另一种解决方案可能是预处理您的数据,即对您的分数行进行排序,以便 z 顺序始终在前面显示最低值。这对我来说听起来最简单。

gnuplot 支持 3D 绘图,因此使用 splot 结合旋转 View 和向数据集添加 z 维度也可以实现。这涉及更多的工作,并且仍然预处理您的数据以及一些围绕将哪些行分配给哪个 z 顺序的逻辑。

xrot=85
zrot=0
xview(xrot)=xrot
zview(zrot)=zrot
set view xview(xrot), zview(zrot), 1.3, 1
set size square

set output "blah.gif"
splot "blah.dat" using 1:2:6 with dots

关于linux - 带有 CSV 的 gnuplot 中的堆叠条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49314758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com