1.使用seaborn包
import matplotlib.pyplot as plt
import seaborn as sns
sns.set() # 设置画图空间为 Seaborn 默认风格。
# 自己导入data
sns.distplot(data, norm_hist=True, hist=True, kde=False, color='r',
hist_kws={"alpha": 1.0, "linewidth": 1.5}, label='data_label')
plt.show(block=True)
sns.distplot()集合了matplotlib的hist()与核函数估计kdeplot的功能,参考Python可视化 | Seaborn5分钟入门(一)——kdeplot和distplot_python sns.kdeplot_易执的博客-CSDN博客
norm_hist:若为True,则直方图高度显示密度而非计数(含有kde图像中默认为True)
hist:是否显示直方图,默认True
kde:是否显示核密度估计曲线图,默认True
2023.3.15更新
- sns.distplot()已经被新版抛弃了,以后建议用sns.displot()取代
- 我使用pycharm画seaborn图一直是弹出窗口但白屏未响应的状态,加上plt.show(block=True))语句就好了,一定要加上括号里的内容,参考matplotlib画图弹出窗口,但是白屏未响应_matplotlib未响应_怀氏雪的博客-CSDN博客
2.结合numpy 与 matplotlib
import numpy as np
import matplotlib.pyplot as plt
N = 100
hist, bin_edges = np.histogram(data, bins=N)
cdf = np.cumsum(hist / sum(hist))
plt.plot(cdf)
直方图的柱子数为N