首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平面图3列矩阵

平面图3列矩阵
EN

Stack Overflow用户
提问于 2014-05-29 22:02:14
回答 2查看 2.4K关注 0票数 0

我有一个(numpy)矩阵,它有三列,前两列是位置,第三列是值。我想画出这个矩阵。我试着使用plt.imshow(.)但轴是我矩阵的指标,而不是位置。

我怎么能这么做?

编辑:我的矩阵是这样的:

代码语言:javascript
复制
array([[ -0.00000000e+00,   0.00000000e+00,   9.72157349e+01],
       [ -2.50000000e-02,   0.00000000e+00,   9.72157349e+01],
       [ -5.00000000e-02,   0.00000000e+00,   9.72157349e+01],
       ..., 
       [ -2.42500000e+00,   8.28630000e-05,   9.72157349e+01],
       [ -2.45000000e+00,   8.28630000e-05,   9.72157349e+01],
       [ -2.47500000e+00,   8.28630000e-05,   9.72157349e+01]])

第一列是x位,第二列是y位,第三列是点的值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-29 22:04:47

Imshow要求您重新计算第三列为2D矩阵,并首先提取x和y轴。然后你就可以使用imshow了。对于imshow,还需要像这样指定边界(范围):

代码语言:javascript
复制
plt.imshow(matrix, cmap=plt.cm.jet, aspect='auto', origin='lower', alpha=1,interpolation='none', extent=(xAxis[0],xAxis[-1], yAxis[0], yAxis[-1]))

plt.colorbar()
plt.show()

那么你应该看到正确的“立场”。

票数 1
EN

Stack Overflow用户

发布于 2016-09-28 07:48:12

最好使用散点图,并对颜色值使用第三列:

代码语言:javascript
复制
 A = your_matrix_as_numpy_array
 X,Y,Z = A.T # with Z the values at points x,y
 import matplotlib.pyplot as plt
 plt.scatter(X,Y,c=Z) 
 plt.colorbar()
 plt.show

请注意,您仍然可以使点更大/更小,并改变形状等等。

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

https://stackoverflow.com/questions/23943761

复制
相关文章

相似问题

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