草庐IT

python - Matplotlib imshow : how to apply a mask on the matrix

我正在尝试以图形方式分析二维数据。matplotlib.imshow在这方面非常有用,但我觉得如果我可以从我的矩阵中排除一些单元格,我可以更多地利用它,这些单元格的值超出了感兴趣的范围。我的问题是这些值在我感兴趣的范围内“拉平”了颜色图。排除这些值后,我可以获得更高的颜色分辨率。我知道如何在我的矩阵上应用掩码来排除这些值,但它在应用掩码后返回一个一维对象:mask=(myMatrix>lowerBound)&(myMatrix有没有办法将掩码传递给imshowhowtoreconstructa2darray? 最佳答案 您可以使用n

python - 使用 imshow 时自定义刻度自动缩放?

我正在尝试使用以下代码更改imshow图x轴上刻度的值:importmatplotlib.pyplotaspltimportnumpyasnpdefscale_xaxis(number):return(number+1001)data=np.array([range(10),range(10,20)])fig=plt.figure(figsize=(3,5))ax=fig.add_subplot(111)ax.imshow(data,aspect='auto')ax.autoscale(False)xticks=ax.get_xticks()ax.xaxis.set_ticklabel

python - imshow 如何处理带有 M x N x 4 输入的 alpha channel ?

GH问题#3343我正在使用matplotlib中的imshow函数来可视化一些数据。我有两个数组,A和B,它们的大小相同。我想使用颜色图显示A中的标量值,我想使用alphachannel显示B中的标量值。换句话说,如果A和B中给定坐标处的值都很大,则图中的像素将呈亮绿色且不透明。如果它在A而不是B中很大,那么它将呈亮绿色但大部分是透明的。如果它在B而不是A中很大,那么它将是不透明的,但是是白色的。但是,生成的图像不是我所期望的。我的输入数据称为d,它是将A数组与matplotlib颜色图(即mpl.cm.BuGn(A))和B数组。在这里我要绘制完整图像(我想实际使用的图像)、RGB图

python - 将两个 matplotlib imshow 图设置为具有相同的颜色图比例

我正在尝试绘制具有相同比例的字段。上面的图像值比下面的图像值高10倍,但在imshow中它们的颜色相同。如何将两者设置为具有相同的颜色比例?我在图片下面添加了我正在使用的代码..defshow_field(field1,field2):fig=plt.figure()ax=fig.add_subplot(2,1,1)ax.imshow(field1,cmap=plt.cm.YlGn)ax.set_adjustable('box-forced')ax.autoscale(False)ax2=fig.add_subplot(2,1,2)ax2.set_adjustable('box-for

python - 在 matplotlib 中绘制 3d imshow() 图像

如何在3d轴上绘制imshow()图像?我正在尝试这个post.在那篇文章中,曲面图看起来与imshow()图相同,但实际上它们并非如此。为了演示,这里我使用了不同的数据:importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dimportnumpyasnp#createa21x21vertexmeshxx,yy=np.meshgrid(np.linspace(0,1,21),np.linspace(0,1,21))#createverticesforarotatedmesh(3Drotationmatrix)X=

python - imshow 3D? ( python /Matplotlib)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。是否存在与matplotlib的imshow()函数等效的函数,用于对存储在3Dnumpy数组中的数据进行3D绘图?

python - 使用 Matplotlib imshow 将没有数据的点设置为白色

我正在使用matplotlibimshow绘制numpy数组中的数据。但是,有些点没有数据。我使用np.zeroes初始化了数组,所以这些点拖拽了整个map。我知道所有数据的值都不会是0.0。有没有什么方法可以告诉imshow例程忽略这些点(即让它们保持白色以便清楚它们是空的)? 最佳答案 您是否尝试过使用NaN而不是零来实例化您的数组,以查看matplotlib的默认设置是否会以适合您的方式忽略NaN?您也可以尝试在绘图之前仅使用逻辑索引使0的位置等于NaN:my_data[my_data==0.0]=numpy.nan或者,您可

python - cv2.imshow() 在 Mac 上崩溃

当我在ipython(MacOS/python2.7.13)上运行这段代码时cv2.startWindowThread()cv2.imshow('img',img)cv2.waitKey()cv2.destroyAllWindows()内核崩溃。当图像出现时,我唯一可以按下的按钮是minimise(中间那个按钮,当我按下任意键时,纺车就会出现,我唯一能做的就是强行退出。附言我已经通过home-brew下载了最新的python版本。 最佳答案 你只是想看图片吗?我不确定你想用startWindowThread做什么,但如果你想以最简单

python - Matplotlib : quiver and imshow superimposed, 如何设置两个颜色条?

我有一个图形,它由imshow()显示的图像、轮廓和quiver()设置的矢量场组成。我根据另一个标量对矢量场进行了着色。在我图的右边,我制作了一个colorbar()。此colorbar()表示imshow()显示的值(在我的例子中可以是正值也可以是负值)。我想知道如何设置另一个基于矢量颜色所基于的标量值的颜色条。有人知道怎么做吗?这是我能够制作的图像示例。请注意,矢量的颜色从蓝色变为红色。根据当前的颜色条,蓝色表示负数。但是我知道向量的颜色代表的数量总是正数。 最佳答案 只需在每次绘图调用之后调用colorbar两次。Pylab

Python Matplotlib 线图与轮廓/imshow 对齐

如何使用Python和Matplotlib将一个子图的视觉宽度设置为等于另一个子图的宽度?第一个图具有固定的纵横比和来自imshow的方形像素。然后我想在其下方放置一个线图,但我无法这样做并使所有内容对齐。我相当确定解决方案涉及关于此TransformTutorial的信息页。我试过使用fig.transFigure、ax.transAxes、ax.transData等,但没有成功。我需要在上面板中找到轴的宽度和高度以及偏移量,然后能够在下面板中设置轴的宽度、高度和偏移量。不应包含轴标签和刻度等或更改对齐方式。例如下面的代码fig=plt.figure(1)fig.clf()data=