我在这里绘制了一组点,左图:
points (left) and image (right)
现在我想看一个点密度的图像,所以我使用了imshow和histogram2d,我在上一个链接中得到了右边的图像.
图像与点的分布不对应.这怎么可能?我已按照帮助中的说明进行 *** 作,甚至更改了一些参数,但没有任何效果:(
代码是:
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cmj,h,k = np.loadtxt("test.dat",usecols=(2,4,6),\ unpack=True)# límitesxmin = -0.5xmax = 3.0ymin = -0.5ymax = 4.0# coloresj_h = j - hh_k = h - k# no todas las estrellas son graficadas x1 = 0.5y1 = 0.5b = 2.2c = y1 - b * x1x = y = np.array([])for xi,yi in zip(h_k,j_h): if xi < (yi - c) / b: x = np.append(x,xi) y = np.append(y,yi)# gráficofig = plt.figure(figsize=(8,7))ax = fig.add_subplot(111)#ax.plot(x,y,"go")ax.set_xlabel(r"X",Fontsize=14)ax.set_ylabel(r"Y",Fontsize=14)ax.axis([xmin,xmax,ymin,ymax])# imagenrango = [[xmin,xmax],[ymin,ymax]]binsx = int((xmax - xmin) / 0.05)binsy = int((ymax - ymin) / 0.05)binsxy = [binsx,binsy]H,xedges,yedges = np.histogram2d(x,range=rango,bins=binsxy)extent = [yedges[0],yedges[-1],xedges[0],xedges[-1]]cp = ax.imshow(H,interpolation='bilinear',extent=extent,cmap=cm.jet)fig.colorbar(cp)plt.show()
所用数据的链接如下:
https://dl.dropbox.com/u/10411539/python/test.dat
任何帮助表示赞赏!
解决方法 尝试不同的插值,并转置矩阵以使其在同一轴上:cp = ax.imshow(H.transpose()[::-1],interpolation='nearest',cmap=cm.jet)总结
以上是内存溢出为你收集整理的python – imshow和histogram2d:无法让它们工作全部内容,希望文章能够帮你解决python – imshow和histogram2d:无法让它们工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)