我有一些时间序列数据,我想将其可视化为二维图。
输入是 ISO-date-format 和由空格分隔的值,每行一条记录:
2010-10-21 23
2010-10-22 32
etc.
Run Code Online (Sandbox Code Playgroud)
输出应该是一个漂亮的二维图。基本要求:
奖金:
我试过了gnuplot
,它有效——它有一些日期支持:
gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2
Run Code Online (Sandbox Code Playgroud)
但是我对 gnuplot 有一些问题:
因此我的问题是:可视化时间序列数据的替代方法是什么?
还是我夸大了 gnuplot 问题?
War*_*ung 12
R在这类事情上比 Gnuplot 更好,因为:
它是一个完整的编程环境,带有C 和 Fortran 兼容的扩展 API。如果你的计算机可以做一件事,你就可以用 R 来做。
许多人已经将他们对常见问题的解决方案贡献给了CRAN:综合 R 档案网络。您可能会发现zoo
和ggplot2
包对此任务很有帮助。
R 拥有您所要求的一切:
输出到 X11、PNG 或(带有附加组件)SVG
图点的实心圆圈: passpch=19
或pch=20
to par()或points()。还有许多其他预定义的绘图点符号,如果您使用支持 Unicode 的字体,还可以使用所有 Unicode。
时间感知图表:如果内置图表没有您想要的缩放比例,您可以使用 R 的绘图原语构建您需要的任何内容
可从脚本调用:#!/usr/bin/Rscript
在 R 程序文件中使用shebang 行
好看又方便:有GUI前端,如果你喜欢,如果你不喜欢,默认的命令驱动环境有很多不错的功能,比如可以看到许多内置操作的R源代码,这有助于了解系统是如何组合在一起的。(是的,R 的大部分内容都是用 R 编写的!)
漂亮的情节:如果 R 是针对 Cairo 构建的,则抗锯齿是默认设置,如果它是最近在 Linux 上构建的,则默认设置。旧版本的 R 可能没有内置 AA。如果您花一些时间了解 R 的功能,请查看以下内容:
(点击图片查看描述它的文章。)
关于 gnuplot 命令行,您可以构建它以支持 GNU readline、BSD libedit,或作为后备,自定义内置命令行编辑方案。(这是根据手册的第 20 页。)我在一台机器上有 gnuplot 3.7,在另一台机器上有 4.0,它们都是用 readline 构建的。你的二进制文件是在没有这些的情况下构建的吗?