全部。我想在更改图像数据时更新图形的颜色条。所以像这样:img=misc.lena()fig=plt.figure()ax=plt.imshow(im)plt.colorbar(ax)newimg=img+10*np.randn(512,512)defupdate_colorbar(fig,ax,newimg):cbar=fig.axes[1]ax.set_data(newimg)cbar.update_normal(ax)plt.draw()但似乎fig.axes()返回的结果没有我预期的那样有颜色条实例。我可能只将colorbar实例作为参数传递给更新函数,但我认为只传递一个fig
全部。我想在更改图像数据时更新图形的颜色条。所以像这样:img=misc.lena()fig=plt.figure()ax=plt.imshow(im)plt.colorbar(ax)newimg=img+10*np.randn(512,512)defupdate_colorbar(fig,ax,newimg):cbar=fig.axes[1]ax.set_data(newimg)cbar.update_normal(ax)plt.draw()但似乎fig.axes()返回的结果没有我预期的那样有颜色条实例。我可能只将colorbar实例作为参数传递给更新函数,但我认为只传递一个fig
使用Cartopy,我想完全控制颜色条的去向。通常我通过获取当前轴位置作为基础然后为颜色条创建新轴来做到这一点。这适用于标准matplotlib轴,但在使用Cartopy和geo_axes时效果不佳,因为这会扭曲轴。所以,我的问题是:如何获得geo_axes的准确位置?这是一个基于Cartopy文档的代码示例http://scitools.org.uk/cartopy/docs/latest/matplotlib/advanced_plotting.html:importcartopy.crsasccrsimportmatplotlib.pyplotaspltimportosfromn
使用Cartopy,我想完全控制颜色条的去向。通常我通过获取当前轴位置作为基础然后为颜色条创建新轴来做到这一点。这适用于标准matplotlib轴,但在使用Cartopy和geo_axes时效果不佳,因为这会扭曲轴。所以,我的问题是:如何获得geo_axes的准确位置?这是一个基于Cartopy文档的代码示例http://scitools.org.uk/cartopy/docs/latest/matplotlib/advanced_plotting.html:importcartopy.crsasccrsimportmatplotlib.pyplotaspltimportosfromn
随着使用画图功能越来越多,我有了这样的需求:不知道上下界的时候控制colorbar分出颜色的数量,也就是一共分几个刻度,这决定了等值线的疏密程度,非常重要。依靠函数默认值往往已经不能达到要求了。这时,只需要把levels设置为整数,就能控制一共画几条线了n=12ac=ax.contourf(x,y,z,levels=n,cmap='jet',extend='both',alpha=0.75)plt.contour(x,y,z,n,colors='k',linewidths=0.5)我们来看看官网的定义:当指定levels是整数n时,会画出n+1条等值线。问题解决。此处附完整代码如下:impor
本文提供一种通过Matplotlib绘制混淆矩阵并调整colorbar标签的程序。直接上程序:fromsklearn.metricsimportconfusion_matriximportmatplotlib.pyplotaspltimportmatplotlib.tickerastickerimportnumpyasnpdefcm_plot(cm,labels):#设置字体、字号plt.rc('font',family='TimesNewRoman',size='14')ind_array=np.arange(len(labels))x,y=np.meshgrid(ind_array,ind
使用matplotlib绘图,改变colorbar, 统一colorbar的显示范围,目的是观看两个图片的差别,首先原始代码importmatplotlib.pyplotaspltimportmatplotlibm=5plt.figure(figsize=(15,15))plt.subplot(121)plt.imshow(data['output'][m].squeeze(),cmap='jet')plt.colorbar(shrink=0.5)plt.title('output')plt.subplot(122)plt.imshow(data['label'][m].squeeze(),c
当我用颜色条绘制矩阵时,颜色条有10个刻度。由于颜色条必须非常小,因此刻度标签重叠。因此我想将刻度数从10减少到5。我不想减小字体大小!有没有简单的方法来做到这一点?我不想手动设置刻度... 最佳答案 MaxNLocator股票行情可能适合您的目的?classmatplotlib.ticker.MaxNLocatorSelectnomorethanNintervalsatnicelocations例如:frommatplotlibimportticker#(generateplothere)cb=plt.colorbar()tick
当我用颜色条绘制矩阵时,颜色条有10个刻度。由于颜色条必须非常小,因此刻度标签重叠。因此我想将刻度数从10减少到5。我不想减小字体大小!有没有简单的方法来做到这一点?我不想手动设置刻度... 最佳答案 MaxNLocator股票行情可能适合您的目的?classmatplotlib.ticker.MaxNLocatorSelectnomorethanNintervalsatnicelocations例如:frommatplotlibimportticker#(generateplothere)cb=plt.colorbar()tick
当用颜色填充网格时,例如在pyplot中使用contourf时,我需要找到一种方法来更改pyplot用来填充超出颜色栏指定范围的数据的颜色。我希望有一个静态颜色条,它不会自动更改其范围以适应数据的最大值/最小值,因此偶尔会有超出其界限的极端值是不可避免的,并且需要为这些值指定颜色。超出颜色条边界的值的默认颜色是白色,如果颜色图没有白色作为其结束颜色,它可能会与周围的数据发生明显的冲突。示例图像如下所示-当值超出颜色栏的负值范围时,请注意白色填充:我相信有一种方法可以指定在每个边界使用哪种颜色,如果使用rcParams超出它们,但我无法在任何地方找到有关此的信息。任何帮助将不胜感激。