首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python进行网格划分

使用python进行网格划分
EN

Stack Overflow用户
提问于 2013-03-27 17:13:47
回答 1查看 326关注 0票数 0

我正在尝试用python绘制一张这样的图片。

我有三个用于绘图的参数。x:

代码语言:javascript
复制
[ 0.03570416  0.05201517  0.05418171  0.01868341  0.07116423  0.07547471]

是:

代码语言:javascript
复制
 [-0.32079484 -0.53330218 -1.02866859 -0.94808545 -0.51682506 -0.26788337]

z:

代码语言:javascript
复制
[-0.32079484 -0.53330218 -1.02866859 -0.94808545 -0.51682506 -0.26788337]

所以x是x轴,y是y轴。然而,z是像素的强度。我想出了这个代码:

代码语言:javascript
复制
z = np.array(reals)
x = np.array(ra)
y = np.array(dec)
nrows, ncols = 10, 10 
grid = z.reshape((nrows, ncols))
plt.imshow(grid, extent=(x.min(), x.max(), y.max(), y.min()), interpolation='nearest', cmap=cm.gist_rainbow)
plt.title('This is a phase function')
plt.xlabel('ra')
plt.ylabel('dec')
plt.show()

然而,我得到了这个错误:

代码语言:javascript
复制
grid = z.reshape((nrows, ncols))
ValueError: total size of new array must be unchanged

ra,dec和reals是大小相同的普通数组。我之前计算了它们,然后用它们创建了numpy数组

EN

回答 1

Stack Overflow用户

发布于 2013-03-27 23:28:55

您显示的数据与制作图像的数据不一致,但您可以使用它制作散点图

在(x,y)坐标对上的z值的两种基本类型的绘图是:

  1. 散点图,其中对于每个(x,y)对,z值是specified.
  2. image (imshow,pcolor,pcolor each,),其中指定了具有m个规则间隔值的x轴和具有n个规则间隔值的y轴,然后给出了大小为(m,n)的z值数组。

您的数据看起来更像前一种类型,所以我建议使用散点图。

下面是散点图的样子(顺便说一句,您的y和z值是相同的,如果这可能是错误的话):

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.array([ 0.03570416, 0.05201517, 0.05418171, 0.01868341, 0.07116423, 0.07547471])
y = np.array([-0.32079484, -0.53330218, -1.02866859, -0.94808545, -0.51682506, -0.26788337])
z = np.array([-0.32079484, -0.53330218, -1.02866859, -0.94808545, -0.51682506, -0.26788337])

plt.scatter(x, y, c=z, s =250)        

plt.show()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15655207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档