图像颠倒在ax.imshow公司()但更改origin关键字并不能解决问题

2024-09-28 23:15:35 发布

您现在位置:Python中文网/ 问答频道 /正文

matplotlib子批内的图像被反转。将“origin”关键字从“upper”更改为“lower”没有任何区别。当我单独绘制图像时,它显示得很好。在

我试图在matplotlib中将散点图和等高线图后面的图像可视化。这个可视化是六个不同子图中的一个子图。问题是图像看起来颠倒了,我试着把“origin”关键字从“upper”改为“lower”,但奇怪的是,这对我的情况没有任何影响。有人能告诉我为什么会发生这种情况,以及如何解决这个问题吗?以下是我使用的代码的相关部分。图像是一个560x550x3numpy数组。在

问题代码

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

在中更改“origin”关键字轴.imshow()无论是“上”还是“下”都没有区别

这行得通,但不是我想要的

当我这么做的时候

^{pr2}$

图像显示良好。在

目前的情况是: image with problem

我想要的是图像颠倒过来。这样地: example 但是所有其他的东西都被覆盖了。在


Tags: 图像imagedataframedfplotmatplotlib情况关键字
1条回答
网友
1楼 · 发布于 2024-09-28 23:15:35

您的问题在于最初的pandas df.plot.scatter()调用,或者您在其中指定了deylim=。您将强制轴从底部的0开始,而imshow()在图像的顶部绘制0。在

改为df.plot.scatter(..., ylim=(550,0), ...)应该可以解决这个问题

相关问题 更多 >