我正在寻找一种方法将不同文件中的数据绘制成一个图表。
我正在测试问题的不同方法。我有一些参数,我试图总结结果与这些参数的关系。我对我比较的不同解决方案进行了一些测试,并且我用不同的参数重复了几次。
所以我有几个.csv文件看起来像这样。
test1 test2 test3 test4 ...
sol1 1 1 1 1
sol2 1 1 1 1
sol3 1 1 1 1
sol4 1 1 1 1
...
(这些当然充满了真实的数据而不仅仅是1)
我想绘制一个图形,其中Y轴是(例如)test1 / sol1的结果,x轴绘制不同的参数值(不同的.csv文件)。
我希望我已经明确了我想要创造的东西。
我希望有一种方法可以直接在gnuplot中这样做。文件结构是这样的,以便创建一些其他图形,所以我真的不想改变它。
我读到了连接两个文件的可能性,但我并没有真正看到它在这里有多大用处。
编辑:(感谢Christoph)我想在单元格test1 / sol1中对我的参数绘制值。参数正在按文件更改。所以我需要为每个文件读取1个数据点。
最后,我想在一个图表中为不同的解决方案绘制此信息。因此对于单元test1 / sol1,test1 / sol2,test1 / sol3,...
在下面的例子中,x轴将是变化参数,Y轴将是来自列< test1'的相应单元格中的值。不同的行对应不同的解决方案。
graph example http://wiki.visvis.googlecode.com/hg/images/examples/example_plotting.png
(来自谷歌的随机图片)
我希望现在我想要实现的目标更加清晰。
答案 0 :(得分:1)
可能不是最好的解决方案,因为我对Gnuplot还不是很有经验,但我设法做到了这样:
sol1 = "< (cat param0.csv param1.csv param2.csv | grep sol1)"
plot sol1 using 2 with lines title "sol1"
所以cat
这会将具有不同参数的文件放在一起,然后我只保留sol1
行。然后我只绘制第一列(test1的值)
我只是针对不同的解决方案重复这一点,使用复制粘贴(因为解决方案的数量是固定的,这似乎是最简单的方法)。