写这个日志的主要原因是自己使用Python这段时间以来,通过参考官方文档以及阅读别人的代码,发现了自己经常出现的小错误,同时也学到了别人的一些技巧。由于Python科学计算是个开源项目,众多的计算包往往都会集成在一个运行环境中,良莠不齐,而且即使是同一个函数包,各人的使用习惯也不一样,所以没有统一的使用方法。因为没有权威,所以也无所谓对错,只能根据自己的使用习惯不断改进。所以总结一些自己常用的命令,以方便以后参考。
关于import matplotlib.pyplot as plt这条命令,我一直误以为是matplotlib.pylab,直到在网上看了别人的用法,心生疑惑,才去官方的document上查看了一下。matplotlib的官网上这样写道:
“
Matplotlib is the whole package; matplotlib.pyplot is a module in matplotlib; and pylab is a module that gets installed alongside matplotlib.”
"
pylab is a convenience module that bulk imports matplotlib.pyplot (for plotting) and numpy (for mathematics and working with arrays) in a single name space. Although many examples use pylab, it is no longer recommended."
Pylab同时导入matplotlib.pyplot和numpy两个函数包,是一种简洁方式,但已经不被推荐使用。所以正确的方法还是分开导入两个函数包。之前迟迟不能发现这个错误的原因,是因为使用错误的方法也能得到正确的结果,所以被蒙蔽了。
正确方法如下
import matplotlib.pyplot as plt
另外要再次将绘图是调整图画大小和字体大小的命令总结一下。同样是字体大小,label, tick,legend用的命令全不相同。而控制字体对于在文献中占线的图片质量至关重要,所以不得不重视。
fig1 = plt.figure(figsize=(3.2, 2.8)) # 图片大小, 3.2'' 长, 2.8'' 高。这个大小适用于大多数分栏论文稿件。
plt.rc('xtick', labelsize = 9)
plt.rc('ytick', labelsize = 9) # 控制横坐标和纵坐标tick的大小, 我一般取9号。注意这里用的是labelsize。
plt.xlabel('XXXXX', fontsize = 10) # 横坐标字体大小
plt.ylabel('XXXXXX', fontsize = 10) # 纵坐标字体大小
plt.title('XXXXX', fontsize = 10) # 标题字体大小。 注意这里用的是 fontsize.
plt.legend(loc = 'best',fontsize = 'x-small') # 调整legend的位置和字体大小,字体大小除了可以用数字外,还可以用预设的值 'small', 'x-small', 'xx-small'等值。
总结一下,figure用figsize, tick用labelsize, 其它文字用fontsize。