Matplotlib库画分布图和直方图

首先我们一定要区分直方图和分布图,因为这完全是两个不同的概念。

举例来说:

有一个list,里面有1000个int值,

当我们对这个list统计分布图时,需要对统计出现在list中的所有数值,这个数值不重复,然后统计每个数值出现的次数,然后在x轴上描述出数值,在y轴上描述出该数值出现的次数,这种图叫做分布图,这种图是一种连续的曲线。

当我们对这个list进行分段,例如0-10,10-20,20-30.......,然后统计出现在每个分段中的数值数量,以分段区间为x,数值数量为y,这种图叫做直方图,这种图是离散的,是一块一块的。

画分布图的方式如下:

import seaborn as sns
import matplotlib.pyplot as plt

# 生成一个示例列表
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# 绘制分布图
sns.kdeplot(data)

# 设置标题和标签
plt.title("Distribution of Data")
plt.xlabel("Data Values")
plt.ylabel("Density")

# 保存分布图
plt.savefig("mydistribution.png")

画直方图的方式如下:

import matplotlib.pyplot as plt
import numpy as np

# 生成一个包含随机数的列表
data = np.random.normal(size=1000)

# 画出直方图
plt.hist(data, bins=50)
plt.show()

 

posted @ 2023-03-07 10:25  海_纳百川  阅读(287)  评论(0编辑  收藏  举报
本站总访问量