我必须想象初步处理结果,它只存在于numpy ndarrays中。
为此,我使用来自matplotlib和plt
+ imshow
的pyplot(subplots
)。
fig, ((mb_arr, mk_arr),(k10_b, k10_l)) = plt.subplots(3, 2, figsize=(16, 12))
mb_arr.imshow(mb_2014_array, cmap='gray', interpolation='nearest')
mk_arr.imshow(mk_2014_array, cmap='gray', interpolation='nearest')
k10_b.imshow(k10_build_array, cmap='gray', interpolation='nearest')
k10_l.imshow(k10_lake_array, cmap='gray', interpolation='nearest')
k10_f.imshow(k10_forest_array, cmap='gray', interpolation='nearest');
但是,我坚持使用五分之四的结果,因为我无法在子图的设置中打印出第五个数组。下面是我目前使用的代码,这里的错误是:
--> fig, ((mb_arr, mk_arr),(k10_b, k10_l), (k10_f, )) = plt.subplots(3, 2, figsize=(16, 12))
ValueError: too many values to unpack
我如何指定3 x 2网格中的最后一行只包含一个元素?
答案 0 :(得分:1)
我使用了http://www.python-course.eu/matplotlib_multiple_figures.php
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 1, 1000)
plt.figure()
for i in range(1, 5):
plt.subplot(3,2,i)
plt.plot(np.sin(x))
plt.subplot(3,2,(5,6))
plt.plot(np.sin(x))
plt.show()
以及imshow
和cmap
以及interpolation
。
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(2)
x = np.random.randint(0, 255, [10, 20])
fig = plt.figure()
for i in range(1, 5):
plt.subplot(3,2,i)
plt.imshow(x, cmap='gray', interpolation='nearest')
plt.subplot(3,2,(5,6))
plt.imshow(x, cmap='gray', interpolation='nearest')
plt.show()