rhm*_*012 27 python plot matplotlib
这应该很简单,但我刚开始使用matplotlib和python.我可以做一个直线或散点图,但我不知道如何做一个简单的步骤函数.任何帮助深表感谢.
x = 1,2,3,4
y = 0.002871972681775004, 0.00514787917410944, 0.00863476098280219, 0.012003316194034325
Run Code Online (Sandbox Code Playgroud)
Joe*_*ton 50
好像你想要的step
.
例如
import matplotlib.pyplot as plt
x = [1,2,3,4]
y = [0.002871972681775004, 0.00514787917410944,
0.00863476098280219, 0.012003316194034325]
plt.step(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
Wil*_*den 15
如果您有非均匀间隔的数据点,则可以使用drawstyle
关键字参数plot
:
x = [1,2.5,3.5,4]
y = [0.002871972681775004, 0.00514787917410944,
0.00863476098280219, 0.012003316194034325]
plt.plot(x, y, drawstyle='steps-pre')
Run Code Online (Sandbox Code Playgroud)
也有steps-mid
和steps-post
.
有一个新plt.stairs
方法可以补充plt.step
:
plt.stairs
底层提供了一个更清晰的界面,用于为您知道步进边缘的StepPatch
常见情况绘制步进常数函数。这取代了 的许多用例
plt.step
,例如绘制 的输出时np.histogram
。
查看官方 matplotlib 库以了解如何使用plt.stairs
和StepPatch
。
plt.step
vsplt.stairs
plt.step
如果有参考点,请使用原件。这里的步骤被锚定[1,2,3,4]
并延伸到左侧:
plt.step(x=[1,2,3,4], y=[20,40,60,30])
Run Code Online (Sandbox Code Playgroud)
plt.stairs
如果有优势就使用新的。前面的[1,2,3,4]
台阶点对应于[1,1,2,3,4]
楼梯边缘:
plt.stairs(values=[20,40,60,30], edges=[1,1,2,3,4])
Run Code Online (Sandbox Code Playgroud)
plt.stairs
与使用np.histogram
由于np.histogram
返回边,它可以直接与 一起使用plt.stairs
:
data = np.random.normal(5, 3, 3000)
bins = np.linspace(0, 10, 20)
hist, edges = np.histogram(data, bins)
plt.stairs(hist, edges)
Run Code Online (Sandbox Code Playgroud)