【问题标题】:How to treat the first line of the data file as column labels in gnuplot?如何将数据文件的第一行视为gnuplot中的列标签?
【发布时间】:2010-10-20 21:26:27
【问题描述】:

我有一张这样的桌子:

A B C D E F G H I 
10 23998 16755 27656 17659 19708 20328 19377 18925
20 37298 33368 53936 41421 44548 40756 40985 37294

我用这个命令来绘图

plot "C:/file.txt" using 1:2 with lines smooth bezier, "C:/file.txt" using 1:3 with lines smooth bezier, ...

但是,所有标签都以文件名的形式出现。 gnuplot 是否可以读取第一行并相应地标记行?

【问题讨论】:

  • 我想这是一个 cmd.exe 命令行解析问题,而不是 gnuplot 问题。能否为不了解 gnuplot 的人列出所需的命令行语法?
  • 嗯.. 我不确定你的意思。所有这些都纯粹发生在 gnuplot 中。
  • @Tomalak:这是在 gnuplot shell 中完成的,与 cmd.exe 命令行解析无关。 (同样的事情发生在 Linux 上)
  • 对于那些想要在散点图中命名轴标签的人:stackoverflow.com/questions/16089301/…

标签: gnuplot


【解决方案1】:
设置键自动标题列头

【讨论】:

  • 如果标头以哈希开头,有没有办法做到这一点?
【解决方案2】:

plot for [n=2:12] 'vv.csv' u 1:(column(n)) w lines title columnhead(n)

我不想绘制第一列数据,因此 n=2:.....

【讨论】:

    【解决方案3】:

    我查看了文档,但没有看到自动执行此操作的方法,但您可以手动设置标题

    plot "file.txt" using 1:2 title "A" with lines smooth bezier ...
    

    【讨论】:

    • 如果数据格式完全符合您在问题中描述的方式,我也会使用此手动方法
    【解决方案4】:

    我曾经wrote 编写了一个脚本,将 FM 广播电台的频率沿从 87MHz 到 108MHz 的轴绘制,使用每个广播电台的名称作为垂直标签。这不是一个纯粹的 gnuplot 解决方案,输入文件是用 perl 和 make 处理的,但我建议你看看它,看看你是否可以使用类似的东西。

    【讨论】:

      【解决方案5】:

      如果您想要绘制大量数据并且想要自动提取标题,也可以使用 gnuplot 工具包,例如 this one for Python

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多