在python中绘制轮廓
Posted
技术标签:
【中文标题】在python中绘制轮廓【英文标题】:Plotting contour in python 【发布时间】:2019-02-27 03:41:42 【问题描述】:我有一个形状为 (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的值有问题吗?
【问题讨论】:
您好!请查看***.com/help/mcve 并相应地修改您的示例。这应该让人们更容易帮助你。目前,您的示例不起作用,因为您没有提供M
。
我更新它@sobek 。我应该提供 M 的值吗?
是的,这会很有帮助。
更新了@sobek。
【参考方案1】:
这是我跑步时得到的
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()
这是你想要的吗?如果不是,请详细说明您希望看到的内容。
【讨论】:
我没有得到这个,我得到了一个空白方块。 复制并粘贴我上面发布的代码。如果你得到不同的东西,那么你的 python、numpy 或 matplotlib 安装存在问题。 知道了,谢谢!以上是关于在python中绘制轮廓的主要内容,如果未能解决你的问题,请参考以下文章