这是一个单一的地带
values = random.sample(range(60, 100), 40)
width = 10
plt.imshow(np.repeat(values, width).reshape(-1, width), cmap='gray')
我如何修改它以绘制彼此相邻的所有列表,而不是单个列表,例如
values_list = []
for x in range(10):
values_list.append(random.sample(range(60, 100), 40))
这是我尝试过的,但它只绘制了列表中的最后一个
for i in range(len(values_list)):
plt.imshow(np.repeat(values_list[i], width).reshape(-1, width), cmap='gray')
plt.show()
如何使列表彼此垂直剥离
没有必要使用
np.repeat
。只需reshape()
将其更改为2D数组。可以使用imshow
的extent=
参数设置位置。要获得正确的x和y限制,需要显式设置它们。设置autoscale_on=False
可防止imshow
超过限制origin='lower'
设置底部value_list[i][0]
处的值,以便y轴具有其通常的方向下面的代码使用来自this example的方法
PS:要使x轴编号为“列”,请将宽度设置为1,并在x轴位置上添加0.5。或者,可以将“列”之间的距离设置为大于其宽度,以获得条形图的效果
PS:要有水平条,只需将所有x相关值与y相关值交换即可
reshape(1, -1)
将需要使像素从左向右移动相关问题 更多 >
编程相关推荐