matplotlib子图中的图像被反转。将'origin'关键字从'upper'更改为'lower'没有任何区别。当我单独绘制图像时,它绘制得很好。
我试图在matplotlib中显示散点图和轮廓图后面的图像。该可视化是六个不同子图中的一个子图。问题是图像显示为颠倒,我尝试将'origin'关键字从'upper'更改为'lower',但奇怪的是,这与我的情况没有任何区别。任何人都可以告诉我为什么会发生这种情况以及如何解决这个问题?以下是我使用的代码的相关部分。该图像是560 X 550 X 3 numpy阵列。
fig, axes = plt.subplots(nrows=3, ncols=2)
"plot 1"
Dataframe[scorer][bodyparts2plot[0]].plot.scatter('x', 'y',
c = '#a98d19', ax=axes[0,0], xlim = (0,560), ylim = (0,550),
figsize= (20,20), title = bodyparts2plot[3], alpha = 0.1)
axes[0,0].imshow(image) # plot image
df = Dataframe[scorer][bodyparts2plot[0]][['x','y']]
sns.kdeplot(df,cmap='jet', n_levels=50,ax=axes[0,0]) # plot contour
"plot 2"
Dataframe[scorer][bodyparts2plot[1]].plot.scatter('x', 'y',
c = '#006666', ax=axes[0,1], xlim = (0,560), ylim = (0,550),
figsize= (20,20), title = bodyparts2plot[4], alpha = 0.1)
axes[0,1].imshow(image) # plot image
df = Dataframe[scorer][bodyparts2plot[1]][['x','y']]
sns.kdeplot(df,cmap='jet', n_levels=50, ax=axes[0,1]) # plot contour
将axes.imshow()中的'origin'关键字更改为“upper”或“lower”没有任何区别
当我做
plt.imshow(image)
图像显示正常。
这是目前的情况:image with problem
我想要的是图像是颠倒的。像这样:example但覆盖所有其他东西。
你的问题是你的初始pandas df.plot.scatter()
调用,或者说你在那里指定de ylim=
的事实。您强制轴从底部的0开始,而imshow()
在图像的顶部绘制0。
改为df.plot.scatter(..., ylim=(550,0), ...)
应该解决问题