Sky Watch

Plot with Python

昨天某人给我一堆数据,需要画图。数据是一堆矩阵一个一个的放在文件里,本来想用 Python 处理成 Gnuplot 那种格式就行了,不管画图,后来发现数据多了以后需要一次一次的到 Gnuplot 里 plot "filename" with vector,如果要保存下来还要 set term post, set output xxxx,太麻烦...  遂决定直接用 Python 画了。图形库当然是用传说中的 Matplotlib。为了遵循 KISS 原则,数据处理和画图写成两个程序,用管道连接。

Google 了半天,发现 Matplotlib 里画矢量场的函数叫 quiver -_-,画图流程大概就是

:::Python
import matplotlib.pyplot as Plot

Plot.figure(figsize=(5, 5))
Q = Plot.quiver(X, Y, DX, DY, width=0.001)

然后要直接显示就 Plot.show(),要保存就用 Plot.savefig。Matplotlib 为了给使用者“命令行”的感觉,把整个画图过程做成了一个状态机,搞得我用着很灵异...  效果还是不错的,两个命令用管道一接,很装逼~ 哈哈哈~~