首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图形跳线的绘图

图形跳线的绘图
EN

Stack Overflow用户
提问于 2013-05-02 22:13:29
回答 2查看 9.1K关注 0票数 3

我在阅读我的文件时遇到了一些问题。例如,我有一个这样的文件:

代码语言:javascript
复制
___________________________________________
'#current' 
month followed retweeted mentioned replied 

Jan 395 29 35 28 

Feb 380 28 32 31 

'#previous' 
month followed retweeted mentioned replied 

Jan 381 30 38 32 

Feb 378 25 42 30 

Mar 374 28 46 40
______________________________________________________

我只需要读取第二个块,它以标记"#previous“开头。我该怎么做呢?我试过这个命令:

代码语言:javascript
复制
plot "data.txt" index 'previous' using 3:xticlabel(1) axes x1y1 with lines linecolor rgbcolor "red",\

但不起作用。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2013-05-02 22:36:53

看看这个问题的答案

Gnuplot:用一个文件中的标题绘制多个数据集

我认为您需要在索引后面添加一个1,如下所示

用3:xticlabel(1)轴绘制"data.txt“索引1

编辑:数据集是0索引的,所以第一个块被索引为0,第二个块(前一个)有一个索引。您提到的关于坏行的错误表明我们的数据文件格式有问题。阅读关于这些链接的数据格式的http://www.gnuplotting.org/plotting-data/ http://lowrank.net/gnuplot/datafile2-e.html

票数 1
EN

Stack Overflow用户

发布于 2013-05-02 22:41:50

让我们把所有的东西放在一起:

按照链接,您可以学习如何过滤文件(这样您就可以在特定行之后获得所有内容)

因此,在我们的例子中:

sed -e '1,/previous/d' data.txt > gnuplot some_gnuplot_options

我是在我的windows开发机器上写这个的,所以不能验证,但是这应该会让你知道你是如何做到的。

我还建议定义您提供给gnuplot的gnuplot文件。只需创建settings.pg并放置如下内容(这是我为自己做的一些工作中的示例,因此它不适用于您的数据格式):

代码语言:javascript
复制
set terminal png size 1024, 360
set output "load.png"
set datafile separator "\t"
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set format x "%m/%d\n%H:%M"
set xrange["2012-04-29 11:00:00":"2012-05-01 11:58:00"] noreverse nowriteback
set autoscale y
set grid
set key left box
plot "chart.txt" using 1:2 t 'column_1' with lines, "chart.txt" using 1:3 t 'column_2' with lines

因此,您的gnuplot调用将如下所示:

sed -e '1,/previous/d' data.txt > gnuplot your_pg_file.pg

您还需要检查从gnuplot手册这里生成的时间。

编辑:

如果这是你的大学作业,你不应该在这里张贴你的问题:-)我不想无聊什么的,但你不想在文献研究和尝试不同的事情之后找到你的解决方案吗?-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16348594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档