使用matplotlibforpython,如何在用pcolor创建的单元格中心绘制一个点?

2024-04-25 05:46:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用matplotlib.pyplot.pcolor绘制如下二维网格:

PL.pcolor(array, cmap = PL.cm.YlOrRd, vmin = 0, vmax = 3)

其中array只是一个简单的2D数组。那部分很好。但接下来我尝试:

^{pr2}$

其中xy是我想要绘制给定点的坐标。然而,不是在用pcolor绘制的网格单元的中心绘制,而是点到单元格的角点(无论我选择哪个单元格)。在


Tags: 网格matplotlib绘制cm数组array定点cmap
1条回答
网友
1楼 · 发布于 2024-04-25 05:46:44

可以使用meshgrid生成点的网格。如果你的采样x和y是均匀的,那么只需在每个方向上加上间隔除以2。i、 e.如果间隔为1,则加0.5并减去1点:

import numpy as np
import matplotlib.pyplot as plt
r = np.arange(10)
p = np.arange(10)
R,P = np.meshgrid(r,p)
data = np.random.random((10,10))
plt.pcolor(R,P,data)
plt.scatter(R[:-1,:-1]+0.5,P[:-1,:-1]+0.5, color = 'blue')

enter image description here

如果您使用tripcolor,请执行以下操作: 你可以计算你的点的质心:triang.triangles给出每个三角形的三个点索引,然后用这三个点计算质心。i、 e.centroidX = (x1+x2+x3)/3.; centroidY = (y1+y2+y3)/3.;

^{pr2}$

enter image description here

相关问题 更多 >