Reading “gnuplot in action” by Philipp K Janert (chinese)
reset set terminal pngcairo size 512,320 set output "output_graph.png" set xtics rotate by -45 # Set the x and y axis labels set xlabel "Date" set ylabel "Price" # Set the title of the graph set title "Date vs Price" set yrange [-10:10] plot sin(x)
最近我读完了“Gnuplot in action”,Philipp K Janet著。 在这片文章我要写出我的关于这本书的看法。 如果你感觉有用还是有意思,我邀请称赞。
这本书属于我的“技术书系列”。 我从一开始就想要跟电脑说同样的语言,所以组成了一条书目。 这条书目包含各个赛博空间相关的书,其中有:日常任务和自动化,网络交流和沟通,软件工程,数据分析,写作辅助,图片,听觉和言语相关的一本。 那因为每个领域很大,没办法阅读所有相关的资料,就需要最谨慎的选择读什么。
我选了gnuplot因为gnuplot是最老还活着绘图软件。 为最老的而且最容易适应对意外的电脑,gnuplot影响了估计所有的能绘曲线图的程序。 的确,如果你用过MATLAB或者Python.Matplotlib,情不自禁感觉“跟gnuplot很像”。
那为什么我没用过gnuplot的官方的说明书学习? 实际上有两个原因:
- gnuplot的官方资料真的不适合自学。它包括整个gnuplot参考信息,介绍每个命令,选项,和输出终端,但是信息密度很高,而且没有任何情节,不告诉读者“如何尽快开始绘图”,那一个选项更重要。
- 实际上我比较喜欢阅读有经验的专家工程师的主管观念。官方的资料可能更准确,但是技术经常除了清纯事实意外也包含男定义的工程师经验。
我看完这本书的时候还是发现了第三个原因,虽然打算读书的时候每考虑它。 这本书除了gnuplot意外,还是包含很多定性分析的知识。
这本书大致分三部分:
- gnuplot介绍
- gnuplot的不明显的细节
- 定性分析技巧
其实甚至如果你关于gnuplot不敢任何兴趣,第13和第14章能值得阅读,因为作者比较好介绍如何使用图形办法从输去提取被收藏的含义。 那里代码本身不那么重要,你可以用MATLAB或Python重现它。
gnuplot到底使用什么语言? 答案是:gnuplot带有自己的语言。 那个语言很简单,但是图灵完备的语言,现在拥有所有的常见的程序语言基元:条件,循环,数组。 不幸的(或者幸运的?),它的数据分析功能不是很强,所以最好用其它,更适合的语言准备数据文件,然后用gnuplot绘图。
我,在我的实验里,用过GNU bash,因为它是最常见的以及最容易学习的语言,但是我不能推荐读者这么做。 Bash还是不太适合做数据分析。 你可以从任何语言把数据倒在gnuplot的默认输入口。
这本书,与官方的资料不同,把内容介绍的很逐渐,几次使用不同的说法介绍同样的内容。 这又是长处又是短处,因为这本书有点长,大概需要我一个星期阅读。
关于gnuplot本身我是有点不确定。 的确,gnuplot的功能很多。 它能绘数据文件,也能绘函数(内建的和自定义的),有几个绘线风格,二维和三维图,多彩色和黑白的图,支持很多输出格式以及互动性终端(比如windows)。 但是我感觉MATLAB的或者Matplotlib的绘图功能一点不亚于gnuplot的,但是不需要用户学习另一个程序语言。
在总结中我要说:“Gnuplot in Action”扩大了我的观念,令我更深得理解数据分析和图形编程。 能不能推荐给每个人阅读它? 不确定。