使用style sheets定制图
style package提供了对切换图表样式的支持,它里面的参数与matplotlib.rc(matplotlib中默认的样式表文件 )中的参数一样。看一下matplotlibrc文件中的内容,在windows中它位于matplotlib\mpl-data目录下,在linux中它位于/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data下,它的部分内容如下:
matplotlib中已经有一些预定义好了的样式,在windows中位于matplotlib\mpl-data\stylelib中,在linux中位于下图中,并提供如下这些预定义样式:
举一个例子使用下述样式中的“ggplot”,它的样式定义如下:
import matplotlib.pyplot as plt
#默认样式
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y)
#使用ggplot样式
plt.figure(2)
plt.style.use('ggplot')
plt.plot(x,y)
plt.show()
自定义样式
除了使用预定于好了样式,我们还可以自定义样式。你可以添加一个自己的样式文件style-name.mplstyl到matplotlib\mpl-data\stylelib或者相应的linux目录中去,然后就可以通过【style.use(‘style-name’)】重复调用该样式。
下面是自定义的mystyle.mplstyle文件,已经放到matplotlib\mpl-data\stylelib中去了:import matplotlib.pyplot as plt #默认样式 x=[1,2,3,4,5] y=[1,4,9,16,25] plt.plot(x,y) #mystyle样式 plt.figure(2) plt.style.use('mystyle') plt.plot(x,y) plt.show()
组合样式
样式表本来就是一些属性键值对组合到一起的,因此我们可以在自己定义的样式表导入的同时加上一些其他 定义好了的样式表,比如如下例子:plt.style.use(['dark_background', 'presentation'])
其中dark_backdround是预定义的黑色样式:
注意:如果dark_background文件和mystyle文件中有对相同属性同时定义了,则最右边的文件中的相应属性会覆盖左边文件中的相应属性的定义。局部样式
前面的style.use()的作用于是所有在其后面所绘制的图形,就算不在同一个figure中,有时候我们只想某个样式作用于特定的代码段,这时候就是用到了Temporary styling:import numpy as np import matplotlib.pyplot as plt #全局使用mysyle plt.style.use('mystyle') #局部使用dark_back_ground with plt.style.context(('dark_background')): plt.plot(np.sin(np.linspace(0, 2 * np.pi)), 'r-o') plt.figure(2) X=[1,2,3,4] Y=[1,4,9,16] plt.plot(X,Y) plt.show()
工具栏
从上面的例子中就可以看到,显示一张图片时,菜单栏自动生成了一些按钮,这些按钮都有各自的功能。
前进后退按钮
这三个按钮就像是我们使用的浏览器中的主页和前进后退按钮一样,一开始这三个图是没有什么用的,因为它本来就处于主页,既不能前进也不能后退,当你使用平移和缩放功能后,每一次操作就相当于在浏览器中点开了一个网页一样,这时候你就可以使用前进后退和回到最开始状态的按钮了。
平移缩放按钮
这个按钮也比较简单,按住鼠标左键在图片区域左右移动可以实现图像的左右平移,上下移动就可以使图像上下平移,按住X或者Y键移动即只能在X或者Y方向上平移。同理按住鼠标右键就是缩放。如果按住Ctrl键再进行上述操作,则是XY轴成比例平移或缩放。
缩放到指定矩形
按住鼠标左键或者右键,选定一个矩形区域,即可将图形放大或者缩小到制定的矩形区域中。
设置子图参数
点击该按钮可以设置子绘图区域的长度和宽度,还可以设置各个子图之间的距离。
保存按钮
该按钮可以将图像保存为png、ps、eps、svg和pdf格式。
快捷键:
参考文档:
Customizing plots with style sheets
Interactive navigation
注:转载请注明原文出处:
作者:CUG_UESTC
出处:http://blog.csdn.net/qq_31192383/article/details/54170542