matplotlib中的图特定与常规属性

时间:2012-12-04 23:25:43

标签: python matplotlib figure

我试图了解matplotlib中方法和属性的组织方式。例如,假设我有一个数字:

import matplotlib.pyplot as plt
my_fig = plt.imshow(image)

我注意到一些图形属性是通过模块方法设置的,例如:

plt.axis('off')

而其他人则使用对象方法为数字本身设置:

my_fig.set_cmap('hot')

可以用任何一种方式指定数字属性吗?

如何通过调用对象off上的方法来axis my_fig

2 个答案:

答案 0 :(得分:2)

plt方法是pyplot API的一部分,旨在为交互式使用提供类似Matlab的便利(当然看起来很受Matlab的影响)。但它只是整个matplotlib API的一个小方面(更多是OOP)。在实践中,我似乎最终将自己混合在SW中;无论您是通过pyplot API还是访问对象,这在很大程度上都是一种品味问题。 pyplot当然非常方便,虽然你想要做更多复杂/异国情调的东西,你会发现你可以用pyplot单独限制你可以做什么,你需要至少知道完整的API的Axes,Figure,Legend和Path对象更好。

答案 1 :(得分:1)

Pyplot是命令样式函数的集合,它使matplotlib像MATLAB一样工作,matplotlib.figure.Figure是面向对象API的一部分。

在大多数情况下,您可以像这样配置图形设置:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
image=mpimg.imread('stinkbug.png')
my_fig = plt.imshow(image)
my_fig.axes.axes.get_xaxis().set_visible(False)
my_fig.axes.axes.get_yaxis().set_visible(False)
plt.show()
enter code here

必需stinkbug.png:

stinkbug.png

<强>结果:

screen.jpg