我在matplotlib中将数据绘制为条形图,并试图只显示条形的轮廓,以便它显示为数据的“阶梯图”。
我在下面添加了我的代码以及所需输出的图像。
plt.bar(x, y, align='center', width=0.1, edgecolor='black', color='none')
有没有其他图书馆可以产生这个?该酒吧的关键字参数似乎没有任何可以。
您的图像看起来像一个围绕每个 x,y 值水平的函数。下面的代码模拟了这一点:
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(0, 30, 1)
y = np.random.uniform(2, 10, 30)
xs = [x[0] - 0.5]
ys = [0]
for i in range(len(x)):
xs.append(x[i] - 0.5)
xs.append(x[i] + 0.5)
ys.append(y[i])
ys.append(y[i])
xs.append(x[-1] + 0.5)
ys.append(0)
plt.plot(xs, ys, color='dodgerblue')
# optionally color the area below the curve
plt.fill_between(xs, 0, ys, color='gold')
Run Code Online (Sandbox Code Playgroud)
PS:@AsishM。评论中提到matplotlib也有自己的step函数。如果该功能满足,请使用该功能。如果您需要一些额外的控制或变化,这个答案可以作为一个开始,例如为曲线下方的区域着色或处理末端的形状。
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |