纵膈肌松解术

有些人更喜欢编写更多的pythonic、面向对象的代码,而不是使用pyplot接口来Matplotlib。这个例子向您展示了如何。

除非您是应用程序开发人员,否则我建议您使用Pyplot接口的一部分,特别是figure、close、subflot、axs和show命令。这些对您隐藏了许多在正常图形创建中不需要看到的复杂性,比如实例化DPI实例、管理图形元素的边界框、创建和实现GUI窗口以及在其中嵌入图形。

如果您是应用程序开发人员,并且希望在应用程序中嵌入matplotlib,请遵循examples/embedding_-in-wx.py、examples/embedding_-in-gtk.py或examples/embedding_-in-tk.py的引导。在这种情况下,您需要控制所有图形的创建,将它们嵌入应用程序窗口等。

如果您是Web应用程序开发人员,您可能希望使用webapp_demo.py中的示例,该示例显示如何直接使用后端agg图画布,而pyplot界面中没有任何全局(当前图形、当前轴)。但是,请注意,Pyplot接口对于Web应用程序开发人员来说不起作用的原因是没有的。

如果您在pyplot接口中编写的examples dir中看到一个示例,并且您希望使用真正的python方法调用来模拟它,那么就有一个简单的映射。其中许多示例使用“set”来控制图形属性。下面是如何将这些命令映射到实例方法

集合的语法为:

plt.setp(object or sequence, somestring, attribute)

如果使用对象调用,则设置调用:

object.set_somestring(attribute)

如果使用序列调用,则set does::

for object in sequence:
   object.set_somestring(attribute)

因此,对于您的示例,如果a是轴对象,则可以执行以下操作:

a.set_xticklabels([])
a.set_yticklabels([])
a.set_xticks([])
a.set_yticks([])
A sine wave or two
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 1.0, 0.01)

fig, (ax1, ax2) = plt.subplots(2)

ax1.plot(t, np.sin(2*np.pi * t))
ax1.grid(True)
ax1.set_ylim((-2, 2))
ax1.set_ylabel('1 Hz')
ax1.set_title('A sine wave or two')

ax1.xaxis.set_tick_params(labelcolor='r')

ax2.plot(t, np.sin(2 * 2*np.pi * t))
ax2.grid(True)
ax2.set_ylim((-2, 2))
l = ax2.set_xlabel('Hi mom')
l.set_color('g')
l.set_fontsize('large')

plt.show()

关键词:matplotlib代码示例,codex,python plot,pyplot Gallery generated by Sphinx-Gallery