我如何在 Gnuplot 中制作文件名为 ztics 的 3d 图表

问题描述 投票:0回答:1

就像标题听起来...

我有一些文件,其中文件名是所表示的数据集的年份。

我还想使用第一列作为 x 轴的文本,第二列作为 y 轴。第一行作为标签信息...

set datafile separator ","
filelist=system("ls")
ztics=list
splot for [i=1:words(list)] word(list,i) using 0:1:list with lines

我尝试了前面的代码但没有成功,我不确定我是否理解 Gnuplot 的语法

我正在使用的一些文件格式:

Source,Count
Foo,8452
Bar,8304

我想使用文件名来跟踪某些日期的变化。

csv gnuplot filenames z-axis
1个回答
0
投票

我想将文件名用作轴上的日期戳。我想将第一列视为文本,将第二列视为文本的值。

好的。我们使用文件名作为标题,

title at beginning
将其放在该图开始处的 y 轴上。我在文件名末尾添加了一堆空格以将其向左移动,这样它就不会位于第一个标签的顶部。

using 0:2:1 with labels
使用文件中的行号作为 x 坐标,使用第 2 列作为值,使用第 1 列作为文本标签。

我也将数据绘制成线,这样你就可以看到标签属于哪条线。

file1.dat
  A  2
  B  1
  C  3
file2.dat
  E  4
  F  2
  G  3

gnuplot 脚本

set border 3
set tics scale 0
set style textbox opaque
set xrange [0:5]
set yrange [0:5]
set ytics (0, 2.5, 5)
filelist = system("ls -1")
plot for [FILE in filelist] FILE using 0:2 with lines title FILE."      " at beginning, \
     for [FILE in filelist] FILE using 0:2:1 with labels boxed notitle

但这可能不是您真正想要的,因为您提到了 3D 图和 z 轴。此外,如果两个标签以相同的 [x,y] 结尾,您只会看到其中一个;也许这对您的实际数据来说不是问题。如果它与您真正想要帮助的内容相去甚远,也许您可以提供一个链接到一个或多或少看起来像您所想的情节(可以来自任何地方)。

© www.soinside.com 2019 - 2024. All rights reserved.