【发布时间】:2016-08-09 16:29:19
【问题描述】:
有点奇怪,我显然遗漏了一些东西,但我得到了一些非常奇怪的行为,我无法弄清楚我做错了什么。
我有一个网格格式的子图(为了这篇文章,我只会说一个 2 x 2 网格)。我想在每个上绘制一些东西并添加一个圆圈。应该很容易,但它没有按我的预期行事。
示例代码 1:
import matplotlib.pyplot as plt
x = [ -1.0, -0.5, 0.0, 0.5, 1.0 ]
y = [ 0.7, 0.2, 1.0, 0.0, 0.0 ]
circle = plt.Circle( ( 0, 0 ), 1 )
fig, axes = plt.subplots( 2, 2 )
axes[ 0, 0 ].plot( x, y )
axes[ 1, 1 ].plot( x, y )
axes[ 0, 0 ].add_patch( circle )
axes[ 1, 1 ].add_patch( circle )
plt.show( )
输出 1:
示例代码 2:
import matplotlib.pyplot as plt
x = [ -1.0, -0.5, 0.0, 0.5, 1.0 ]
y = [ 0.7, 0.2, 1.0, 0.0, 0.0 ]
circle = plt.Circle( ( 0, 0 ), 1 )
fig, axes = plt.subplots( 2, 2 )
axes[ 0, 0 ].plot( x, y )
axes[ 1, 1 ].plot( x, y )
axes[ 0, 0 ].add_patch( circle )
#axes[ 1, 1 ].add_patch( circle )
plt.show( )
输出 2:
示例代码 3:
import matplotlib.pyplot as plt
x = [ -1.0, -0.5, 0.0, 0.5, 1.0 ]
y = [ 0.7, 0.2, 1.0, 0.0, 0.0 ]
circle = plt.Circle( ( 0, 0 ), 1 )
fig, axes = plt.subplots( 2, 2 )
axes[ 0, 0 ].plot( x, y )
axes[ 1, 1 ].plot( x, y )
#axes[ 0, 0 ].add_patch( circle )
axes[ 1, 1 ].add_patch( circle )
plt.show( )
我真的不明白这种行为(为什么示例 2 有效,但示例 1 或 3 无效?),或者我正在做什么来导致它。任何人都可以解释一下吗?提前致谢。
【问题讨论】:
标签: python matplotlib geometry subplot