我尝试绘制二维直方图并通过某种插值获得“平滑”图片。因此,我结合plt.hist2d和plt.imshow执行以下操作importmatplotlib.pyplotaspltimportnumpyasnpdata=np.loadtxt("parametre_optMC.dat",skiprows=50,usecols=(1,2))h,x,y,p=plt.hist2d(data[:,0],data[:,1],bins=20)plt.imshow(h,origin="lower",interpolation="gaussian")plt.savefig("test.pdf")正如您在下图中
我正在学习Python,这是我的第一个问题。我已经阅读了与imshow用法相关的其他主题,但没有找到任何有用的信息。抱歉我的英语不好。我在这里绘制了一组点,左图:points(left)andimage(right)现在我想看点密度的图像,所以我用了imshow和histogram2d,我在前面得到了右边的图像链接。图像与点的分布不对应。这怎么可能?我已经按照帮助中的说明进行操作,甚至更改了一些参数,但没有任何效果:(代码是:importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.cmascmj,h,k=np.loadtx
所以我有点困惑为什么会这样。我有一个二值图像:现在我想将这个二进制图像转换成RGB空间,因此我使用dstack函数连接第3轴到目前为止一切正常,但现在我必须将out_image数组乘以255以在RGB空间中反射(reflect)白色,这就是问题发生的地方黑色但是如果我绘制另一个随机图像,一切都很好所以这里发生的事情,我也玩过cmap但不管是哪种cmap我用它乘以255总是黑色有什么想法吗? 最佳答案 题中问题的解决方案不是将数组乘以255。另一种选择是将图像的数据类型减少为unsignedint8,out_image=out_ima
在处理子图与单个图形时,我对matplotlib中函数的细微差别(它们的名称是什么?)感到非常困惑。举个例子:如果我想更改单个图形上的xlim,我会这样做:plt.xlim()如果我想更改子图中的xlim,我会这样做:ax.set_xlim()这是为什么?任何人都可以将我发送到解释约定的网站吗?这是一个简单的例子,因为我知道它们是不同的,以及它们是如何不同的,但是有很多我不知道,而且我很难弄清楚-例如:1)将集合应用于子图:ax.collection(collection_name)。你如何为单个数字做这件事?2)将刻度标签应用于子图:ax.xaxis.ticklabels(tick_
这个问题在这里已经有了答案:Howtoplotinmultiplesubplots(12个答案)关闭去年。我在一些帮助下构建了一组饼图Insertimageintopiechartslice我的图表看起来很棒,现在我需要将所有6个图表放在一个2x3图形中,并在共享的x和y轴上使用公共(public)刻度线。一开始我正在查看子图并认为我可以让它工作。我下载了一些示例并开始尝试一些事情。f,(a)=(plt.subplots(nrows=1,ncols=1,sharex=True,sharey=True))#,#squeeze=False,subplot_kw=None,gridspec_
我正在使用matplotlib在plot()或bar()中,如果我们给它们添加标签,我们可以很容易地放置图例。但如果它是contourf()或imshow()怎么办我知道有一个colorbar()可以呈现颜色范围,但它并不满足。我想要这样一个有名字(标签)的图例。我能想到的是,为矩阵中的每个元素添加标签,然后,尝试legend(),看看它是否有效,但是如何为元素添加标签,比如值??在我的例子中,原始数据是这样的:1,2,3,3,42,3,4,4,51,1,1,2,2例如,1代表“草”,2代表“沙”,3代表“山”……等等。imshow()非常适合我的情况,但没有图例。我的问题是:有没有可
这与newpythonicstyleforsharedaxessquaresubplotsinmatplotlib?有关(或者更确切地说是跟进).我想让子图共享一个轴,就像上面链接的问题一样。但是,我也不希望地block之间没有空间。这是我的代码的相关部分:f,(ax1,ax2)=plt.subplots(1,2,sharex=True,sharey=True)plt.setp(ax1,aspect=1.0,adjustable='box-forced')plt.setp(ax2,aspect=1.0,adjustable='box-forced')#Plot1ax1.matshow(
我有以下代码importscipy.miscimportmatplotlib.pyplotasplta=plt.imshow(scipy.misc.lena())我希望实现的是通过访问a或其子项来获取lena上的数据。原因是我将通过plt.gcf()或plt.gca()访问图像 最佳答案 a应该是一个matplotlib.image.AxesImage实例,在这种情况下您可以使用a.get_array()和a.set_array(data)数组存储为掩码数组。示例http://matplotlib.org/examples/anim
我想以类似于此处第二个示例的方式使用imshow进行绘图http://www.scipy.org/Plotting_Tutorial但要重新定义轴的比例。我还希望图像在执行此操作时保持静止!示例代码:fromscipyimport*frompylabimport*#Creatingthegridofcoordinatesx,yx,y=ogrid[-1.:1.:.01,-1.:1.:.01]z=3*y*(3*x**2-y**2)/4+.5*cos(6*pi*sqrt(x**2+y**2)+arctan2(x,y))hold(True)#Creatingimageimshow(z,orig
importnumpyasnpimportsysimportmatplotlibasmplimportmatplotlib.pyplotasplt我使用下面的代码来保存一张图片fig,ax=plt.subplots(frameon=False)ax.axis('off')ax.imshow(array[:,:,0,0,0])fig.savefig("file.png",bbox_inches='tight')然而,我得到的是这显然还有一个白色的边框。我该如何摆脱它?array.shape是:(256,256,1,1,3) 最佳答案