[英]How to plot a numpy array with matplotlib?
我生成一个圆形 numpy 数组,如下所示:
# -*- coding: utf-8 -*-
import numpy as np
a, b = 3, 3
n = 7
r = 3
arr = np.ones((n, n))
y, x = np.ogrid[-a:n-a, -b:n-b]
mask = x ** 2 + y ** 2 <= r**2
arr = 255 * mask.astype(int)
print(arr)
它打印结果如下:
[[ 0 0 0 255 0 0 0]
[ 0 255 255 255 255 255 0]
[ 0 255 255 255 255 255 0]
[255 255 255 255 255 255 255]
[ 0 255 255 255 255 255 0]
[ 0 255 255 255 255 255 0]
[ 0 0 0 255 0 0 0]]
我想要 plot 这个 numpy 阵列? 我怎样才能做到这一点?
编辑
我要显示的是一个圆圈,而不是默认图片:
这可以使用matplotlib 的颜色 map 功能来完成。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors
a, b = 3, 3
n = 7
r = 3
arr = np.ones((n, n))
y, x = np.ogrid[-a:n-a, -b:n-b]
mask = x ** 2 + y ** 2 <= r**2
arr = 255 * mask.astype(int)
cmap = colors.ListedColormap(['purple', 'yellow'])
fig, ax = plt.subplots()
ax.imshow(arr, cmap=cmap)
plt.show()
结果是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.