相关疑难解决方法(0)

matplotlib:添加透明背景的第二轴()?

定义数据

x = np.linspace(0,2*np.pi,100)
y = 2*np.sin(x)
Run Code Online (Sandbox Code Playgroud)

情节

fig = plt.figure()
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)

添加第二个轴

newax = plt.axes(axisbg='none')
Run Code Online (Sandbox Code Playgroud)

给我ValueError: Unknown element o,尽管它与我将描述的内容完全相同.我也可以看到这样做(没有错误)做同样的事情:

newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')
Run Code Online (Sandbox Code Playgroud)

但是,它将原始图形的背景颜色变为"灰色"(或者图形背景是什么)?我不明白,因为我认为这会使newax透明,除了图周围的轴和框.即使我切换订单,同样的事情:

plt.close('all')
fig = plt.figure()
newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)

这是令人惊讶的,因为我认为一个的背景将叠加在另一个上,但在任何一种情况下,它都是看起来可见的newax背景(或者至少这是我看到的颜色).

这里发生了什么?

python matplotlib

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

matplotlib ×1

python ×1