python - 使用 Matplotlib 绘制网格

标签 python matplotlib

我想在 Python 中使用 Matplotlib 绘制一个自定义的网格。

我知道 np.meshgrid 函数,可以使用它来获取我想要连接的不同点的数组,但不确定如何绘制网格。

代码示例:

x = np.linspace(0,100,100)
y = np.linspace(0,10,20) 
xv, yv = np.meshgrid(x, y)

现在,我如何绘制这个 xv 数组的网格?

最佳答案

您可以使用 grid() 打开/关闭网格, 但它只能在轴刻度上有网格线,所以如果你想手工制作,这个怎么样:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

xs = np.linspace(0, 100, 51)
ys = np.linspace(0, 10, 21)
ax = plt.gca()
# grid "shades" (boxes)
w, h = xs[1] - xs[0], ys[1] - ys[0]
for i, x in enumerate(xs[:-1]):
    for j, y in enumerate(ys[:-1]):
        if i % 2 == j % 2: # racing flag style
            ax.add_patch(Rectangle((x, y), w, h, fill=True, color='#008610', alpha=.1))
# grid lines
for x in xs:
    plt.plot([x, x], [ys[0], ys[-1]], color='black', alpha=.33, linestyle=':')
for y in ys:
    plt.plot([xs[0], xs[-1]], [y, y], color='black', alpha=.33, linestyle=':')
plt.show()

exapmple

关于python - 使用 Matplotlib 绘制网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429031/

相关文章:

python - 类型错误 : 'ShuffleSplit' object is not iterable

python - 为什么数据透视表中有 NaN?

python - 绘制一个图表,其 x 标签为月份和日期

python - 如何使用从函数调用的 matplotlib 绘图?

python - 使用 Pandas 合并列并删除重复项

python - 在 Python 中获取每月的假期数

python - 在 Python 3.6 中处理异常

python - 在 matplotlib 中将 3D 背景更改为黑色

python - Matplotlib/Tkinter - 自定义工具栏工具提示

python - 如何用imshow()限制x轴的范围?