import pandas as pd
import matplotlib.pyplot as plt
# 读入数据
file = r'123.xlsx'
sheet = 'Sheet2'
col = 'S213'
# 标题名称
title = col + '供订比曲线'
xlabel = '供订比'
# 横轴显示范围
xleft = 0
xright = 3
data = pd.read_excel(file, sheet_name=sheet)
#-------------------------------
# 检查年龄是否有缺失
any(data.eval(col).isnull())
# 不妨删除含有缺失年龄的观察
data.dropna(subset=[col], inplace=True)
#设置绘图风格
plt.style.use('ggplot')
#处理中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
#坐标轴负号的处理
plt.rcParams['axes.unicode_minus']=False
#-------------------------------
#删除非数字的成分 和 值为0的成分
Titanic = data[(pd.to_numeric(data.eval(col), errors='coerce').notnull()) & (data.eval(col) != 0)]
# 绘制直方图
Titanic.eval(col).plot(kind = 'hist', bins = 20, color = 'steelblue', edgecolor = 'black', density = True, label = '直方图')
# 绘制核密度图
Titanic.eval(col).plot(kind = 'kde', color = 'red', label = '核密度图')
# 添加x轴和y轴标签
plt.xlabel(xlabel)
plt.ylabel('频数')
plt.xlim((xleft, xright))
# 添加标题
plt.title(title)
# 显示图例
plt.legend()
# 显示图形
plt.show()
在读入数据部分修改文件名、表单名、列名即可
关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
由于本号流量还不足以发表推广,搜我的公众号即可: