csv 如何在Gnuplot中制作文件名为ztics的三维图表

wh6knrhe  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(104)

就像标题听起来......
我有一些文件的文件名是年的数据集表示。
我还想使用第一列作为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

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

vwhgwdsa

vwhgwdsa1#

“* 我希望将文件名用作轴上的日期戳。第一列作为文本,第二列作为文本的值。*”
好的,我们用文件名作为标题,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]上结束,你只能看到其中一个;也许这对你的实际数据来说不是问题。如果它离你真正想要帮助的太远,也许你可以给予一个链接到一个或多或少看起来像你想要的图(可以来自任何地方)。

相关问题