python - 为什么 Matplotlib.hist 采用不同的列表?
问题描述
我正在尝试绘制以下内容
list_a_seq_of_p = [0, 1, 1, 1.5, 2.5, 3, 3, 3.5, 4.5, 5 ]
plt.plot(list_a_seq_of_p)
pyplot.hist(
list_a_seq_of_p,
range(11),
histtype="step",
cumulative=True,
color=("r"),
label=("A"),
)
这实际上绘制了一个不同的数组([1., 4., 5., 8., 9., 10., 10., 10., 10., 10.],它是在运行时自动创建的。
解决方案
我假设您的意思是红色直方图似乎是错误的?它不是。您已经得到了cumulative=True
,因此它将每个值相加以形成“运行总计”。
如果您希望两者对齐,请为两者提供相同的 y 轴并设置cumulative
为False
(或删除它,因为这False
是默认设置)。
import matplotlib.pyplot as plt
list_a_seq_of_p = [0, 1, 1, 1.5, 2.5, 3, 3, 3.5, 4.5, 5 ]
plt.plot(list_a_seq_of_p, range(len(list_a_seq_of_p)))
plt.hist(
list_a_seq_of_p,
len(list_a_seq_of_p),
histtype="step",
cumulative=False,
color=("r"),
label=("A"),
)
顺便说一句,第二个参数plt.hist()
是bins
. 那么你期待哪些垃圾箱?len(list_a_seq_of_p)
以上对于垃圾箱来说不是一个合理的值。
此外,请与您的导入名称保持一致。首先你使用plt.plot()
,下一行是pyplot.hist()
.
推荐阅读
- tensorflow - TensorFlow、Theano、Pytorch 中使用的是 GEMM 还是 BLAS
- sql - 基于条件 postgres 的连接类型
- r - 连胜顺序
- excel - 插入一列,然后在空白列中输入公式 500 次
- python - 如何拆分列表中的两个索引而不是在python中创建单独的列表
- python - 在 Python 中解析文本并返回不匹配括号的列表
- php - PDO 查询似乎正在返回 DESC 订单。忽略 ASC 硬编码
- python - 美化 Matplotlib 折线图
- f# - 使用 F# 创建 SPA 静态无服务器应用程序
- java - 获取 BufferedReader.readLine() 等待输入