Python 打印时,希望在x间隔内“保持”y值。[不是“条形图”问题]

Python 打印时,希望在x间隔内“保持”y值。[不是“条形图”问题],python,matplotlib,spectrogram,Python,Matplotlib,Spectrogram,出于某种原因,我对这一点一无所知: x = np.arange(5) [0 1 2 3 4] y = np.array((3, 6, 1, 9)) [3 6 1 9] plt.plot(???) 如何处理数组,使绘图在0到1的“bin”上保持常量。i、 e将值3保持在0到1之间,将值6保持在1到2之间,依此类推 这是一个概念示例,因为我真正的问题是我从头开始制作光谱图,并使用plt.pcolormeshX,Y,Z。我有与此示例类似的阵列,并且大小不匹配。我必须停止使用数字0或数字4进行匹配

出于某种原因,我对这一点一无所知:

x = np.arange(5)
[0 1 2 3 4]

y = np.array((3, 6, 1, 9))
[3 6 1 9]

plt.plot(???)
如何处理数组,使绘图在0到1的“bin”上保持常量。i、 e将值3保持在0到1之间,将值6保持在1到2之间,依此类推


这是一个概念示例,因为我真正的问题是我从头开始制作光谱图,并使用plt.pcolormeshX,Y,Z。我有与此示例类似的阵列,并且大小不匹配。我必须停止使用数字0或数字4进行匹配,但在各自的方向上,匹配错误了1个数据点。

您需要附加最后一个y点,以便两个数组具有相同数量的元素,然后使用drawstyle=steps post以获得阶梯状外观

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(5)
#[0 1 2 3 4]

y = np.array((3, 6, 1, 9))
#[3 6 1 9]

plt.plot(x, np.concatenate((y, [y[-1]])), drawstyle="steps-post")
plt.show()

请注意,这与plt.pcolormeshX,Y,Z无关,其中Z可以或应该在每个方向上比网格少一个元素

你所说的像直方图一样保持数值是什么意思。打印时,该值在箱子上保持不变。