1.代码:
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()
在读入数据部分修改文件名、表单名、列名即可
2.效果: