我从Matplotlib网站引用此example。在蓝色“经验”曲线的右侧,有一条垂直的蓝线,它是最右边的条的右边缘。
如何在不更改x轴限制的情况下删除此垂直蓝线?
答案 0 :(得分:8)
这是默认行为。你需要删除最后一点。
n, bins, patches = ax.hist(x, n_bins, normed=1, histtype='step',
cumulative=True, label='Empirical')
patches[0].set_xy(patches[0].get_xy()[:-1])
其余的都一样。
答案 1 :(得分:2)
垂直线是如何生成绘图的工件。你正在制作条形图,但只绘制角落;但是最后一个角总是为0.你可以通过使用numpy(这是pyplot使用的)生成直方图数据来绕过这个问题,并制作数据的步骤图。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
mu = 200
sigma = 25
n_bins = 50
x = np.random.normal(mu, sigma, size=100)
fig, ax = plt.subplots(figsize=(8, 4))
# get the counts and edges of the histogram data
cnt, edges = np.histogram(x, bins=n_bins, normed=1)
# plot the data as a step plot. note that edges has an extra right edge.
ax.step(edges[:-1], cnt.cumsum())
plt.show()