Python 画分布图

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

你可能感兴趣的:(Python代码,python)