📄 pythonic_matplotlib.py
字号:
#!/usr/bin/env python"""Some people prefer to write more pythonic, object oriented, coderather than use the pylab interface to matplotlib. This example showyou how.Unless you are an application developer, I recommend using part of thepylab interface, particularly the figure, close, subplot, axes, andshow commands. These hide a lot of complexity from you that you don'tneed to see in normal figure creation, like instantiating DPIinstances, managing the bounding boxes of the figure elements,creating and reaslizing GUI windows and embedding figures in them.If you are an application developer and want to embed matplotlib inyour application, follow the lead of examples/embedding_in_wx.py,examples/embedding_in_gtk.py or examples/embedding_in_tk.py. In thiscase you will want to control the creation of all your figures,embedding them in application windows, etc.If you are a web application developer, you may want to use theexample in webapp_demo.py, which shows how to use the backend aggfigure canvase directly, with none of the globals (current figure,current axes) that are present in the pylab interface. Note thatthere is no reason why the pylab interface won't work for webapplication developers, however.If you see an example in the examples dir written in pylab interface,and you want to emulate that using the true python method calls, thereis an easy mapping. Many of those examples use 'set' to controlfigure properties. Here's how to map those commands onto instancemethodsThe syntax of set is setp(object or sequence, somestring, attribute)if called with an object, set calls object.set_somestring(attribute)if called with a sequence, set does for object in sequence: object.set_somestring(attribute)So for your example, if a is your axes object, you can do a.set_xticklabels([]) a.set_yticklabels([]) a.set_xticks([]) a.set_yticks([])"""from pylab import figure, close, axes, subplot, showfrom matplotlib.numerix import arange, sin, pit = arange(0.0, 1.0, 0.01)fig = figure(1)ax1 = fig.add_subplot(211)ax1.plot(t, sin(2*pi*t))ax1.grid(True)ax1.set_ylim( (-2,2) )ax1.set_ylabel('1 Hz')ax1.set_title('A sine wave or two')for label in ax1.get_xticklabels(): label.set_color('r')ax2 = fig.add_subplot(212)ax2.plot(t, sin(2*2*pi*t))ax2.grid(True)ax2.set_ylim( (-2,2) )l = ax2.set_xlabel('Hi mom')l.set_color('g')l.set_fontsize('large')show()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -