【问题标题】:Plotting data from two different files in Gnuplot在 Gnuplot 中绘制来自两个不同文件的数据
【发布时间】:2021-03-12 02:33:26
【问题描述】:

我有两个不同的文本文件,其中包含我想要绘制的数字列表。一个文件包含 x 值,另一个文件包含 y 值。如果它们在同一个文件中,我知道如何绘制它们,但我不知道如何处理单独的文件。我该怎么做?顺便说一句,我正在使用 GNUplot。

如果有用的话,这里有两个文件中的两个小数据位:

x values
0
563
1563
2563
3563
4563
5563

corresponding y values
738500.0
683000.0
647000.0
623500.0
607500.0

【问题讨论】:

  • 你到底想画什么?你的 x 值是多少,你的 y 值是多少?也许 x 和 y 来自不同的文件?或者行号为 x,其他值为 y?这是太少和不清楚的信息。请详细说明。
  • 我已经编辑了我的问题。希望现在更清楚了

标签: graph gnuplot


【解决方案1】:

我想我已经看到过这样的问题,但我现在找不到。 好吧,Linux(与 Windows 不同)有一些内置工具,您可以在其中轻松地逐行附加两个文件。 如果您只想在 gnuplot 中执行此操作(因此与平台无关),以下将是一个建议。 先决条件是您的文件已经在数据块中。如何完成这项工作,请参阅:gnuplot: load datafile 1:1 into datablock

代码:

### merge files by line
reset session

$Data1 <<EOD
0
563
1563
2563
3563
4563
5563
EOD

$Data2 <<EOD
738500.0
683000.0
647000.0
623500.0
607500.0
EOD

maxRow = |$Data1| <= |$Data2| ? |$Data1| : |$Data2|   # find the shorter datablock

set print $Data
    do for [i=1:maxRow] {
        print $Data1[i][1:strlen($Data1[i])-1]." ".$Data2[i]
    }
set print

plot $Data u 1:2 w lp pt 7
### end of code

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2012-06-20
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多