在Python中绘制轮廓

时间:2018-09-23 11:18:17

标签: python numpy matplotlib contour

我有一个形状为(15,2)的np数组 当我对该数组的第一维和第二维进行网格化并编写该数组的函数,然后使用轮廓绘制时,输出为空白。我不明白怎么了请引导我。

代码是:

M=[[12.647,4.2439],[13.744,8.9295],[13.93,9.191 ],[16.223,12.452 ],
   [16.475 , 12.784 ],
   [16.535 , 12.813 ],
   [16.774 , 13.377 ],
   [16.949 , 13.465 ],
   [17.295 , 13.494 ],
   [17.329 , 13.613 ],
   [18.183 , 14.683 ],
   [19.055 , 14.871 ],
   [19.098 , 15.487 ],
   [21.798 , 16.23  ],
   [22.241 , 16.411 ]]
x1,y1=np.meshgrid(M[:,0],M[:,1])
F=np.sqrt(x1**2 + y1**2)
plt.contour(x1,y1,F)

这里M是(15,2)的np数组。 M的值有问题吗?

1 个答案:

答案 0 :(得分:0)

这是我跑步时得到的东西

import numpy as np
import matplotlib.pyplot as plt


M = np.array([[12.647, 4.2439],
              [13.744, 8.9295],
              [13.93, 9.191],
              [16.223, 12.452],
              [16.475, 12.784],
              [16.535, 12.813],
              [16.774, 13.377],
              [16.949, 13.465],
              [17.295, 13.494],
              [17.329, 13.613],
              [18.183, 14.683],
              [19.055, 14.871],
              [19.098, 15.487],
              [21.798, 16.23],
              [22.241, 16.411]])

x1, y1 = np.meshgrid(M[:, 0], M[:, 1])
f = np.sqrt(x1 ** 2 + y1 ** 2)
plt.contour(x1, y1, f)
plt.show()

enter image description here

这是您想要的吗?如果没有,请详细说明您希望看到的内容。