python – 更改绘图的原点

python – 更改绘图的原点,第1张

概述我有一个包含3列的数据表,我想在彩色2D绘图中根据前两个绘制第三列.例如,对于下表,即 4.0 4.0 0.313660827978 4.0 5.0 0.365348418405 4.0 6.0 0.423733120134 5.0 4.0 0.365348418405 5.0 5.0 0.439599930621 5.0 6.0 0.525083754405 6.0 4.0 0.42 我有一个包含3列的数据表,我想在彩色2D绘图中根据前两个绘制第三列.例如,对于下表,即

4.0 4.0 0.313660827978 4.0 5.0 0.365348418405 4.0 6.0 0.423733120134 5.0 4.0 0.365348418405 5.0 5.0 0.439599930621 5.0 6.0 0.525083754405 6.0 4.0 0.423733120134 6.0 5.0 0.525083754405 6.0 6.0 0.651536351379

我使用以下代码:

x,y,z = np.loadtxt('output_overlap.dat').T #Transposed for easIEr unpackingnrows,ncols = final_step_j-1,final_step_k-1grID = z.reshape((nrows,ncols))plt.imshow(grID,extent=(x.min(),x.max(),y.max(),y.min()),interpolation='nearest',cmap='binary')fig1 = plt.gcf()plt.colorbar()plt.xlabel('m1')plt.ylabel('m2')plt.draw()fig1.savefig('test.pdf',dpi=100)close('all')

这给了我以下情节:
https://dl.dropboxusercontent.com/u/31460244/test.png

哪个是对的.现在,我的问题是:如何更改在Y轴上显示数据的顺序?我想在原点得到点(4,4).

我试过改变

plt.imshow(grID,y.min())

至:

plt.imshow(grID,y.min(),y.max())

它确实会更改网格中的数字,但不会更改实际数据.这不是解决方案.有人可以帮我吗?

解决方法 范围只是将这些角坐标分配给数据,它无论如何都不会改变基础数据的顺序.

imshow有一个origin关键字,请参阅:

a = np.array([0.313660827978,0.365348418405,0.423733120134,0.439599930621,0.525083754405,0.651536351379]).reshape(3,3)extent = [4,6,4,6]fig,axs = plt.subplots(1,2)axs[0].imshow(a,extent=extent,interpolation='none')axs[1].imshow(a,origin='lower',interpolation='none')

您还可以考虑使用np.flipud和np.fliplr来镜像数组的轴.但我个人更喜欢用imshow设置原点,如果这足够的话.

总结

以上是内存溢出为你收集整理的python – 更改绘图的原点全部内容,希望文章能够帮你解决python – 更改绘图的原点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存