1、 导入库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
2、 偏差图–hlines的应用
样式一:
对整张表进行排序,这样才能保证数据和标签一一对应:data.sort_values("车辆重量",inplace=True)
索引被打乱,索引重置:data.reset_index(drop=True,inplace=True)
plt.figure(figsize=(8,4))
data = pd.read_table(r'F:\Pycharmworkspace\data\汽车',sep=' ')
# 对整张表进行排序,这样才能保证数据和标签一一对应,inplace=false时只对车辆重量排序
data.sort_values("车辆重量",inplace=True)
# 索引重置:drop=true表示不再增加新的列来单独存放索引,inplace=True表示在原数据集上更改
data.reset_index(drop=True,inplace=True)
z = data.iloc[:,3]
plt.hlines(y=data.iloc[:,-1].values, xmin=0, xmax=z #x从xmin到xmax
,linewidth=5 #线的宽度
,color=color #颜色
,alpha=0.5 #色彩饱和度
);
样式二:
使数据标准化(服从正态分布): (x-x.mean())/x.std()
plt.figure(figsize=(8,4))
data = pd.read_table(r'F:\Pycharmworkspace\data\汽车',sep=' ')
# 对整张表进行排序,这样才能保证数据和标签一一对应,inplace=false时只对车辆重量排序
data.sort_values("车辆重量",inplace=True)
# 索引重置:drop=true表示不再增加新的列来单独存放索引,inplace=True表示在原数据集上更改
data.reset_index(drop=True,inplace=True)
x = data.iloc[:,3]
x=(x-x.mean())/x.std() #数据标准化,均值为0,方差为1
# 列表推导式
color = ['green' if i>0 else 'red' for i in x[:]]
plt.hlines(y=data.iloc[:,-1].values, xmin=0, xmax=x #x从xmin到xmax
,linewidth=5 #线的宽度
,color=color #颜色
,alpha=0.5 #色彩饱和度
);
3、 偏差图–样式
1、 $$表示斜体
2、 在yticks中设置列索引及其列名称:plt.yticks(data.iloc[:,-1],df,fontsize=12)
3、 在grid中设置图像网格线:plt.grid(linestyle='--',alpha=0.5);
# 重新设置列名
df=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q']
plt.xlabel('$height$',fontsize=15)
plt.ylabel('$carname$',fontsize=15) #$$表示斜体
plt.yticks(data.iloc[:,-1],df,fontsize=12) #重新设置y轴名称及刻度
plt.title('车辆型号与车重',fontdict={'size':20}) #fontdict 字典形式的参数,可以放入size、color等
plt.grid(linestyle='--',alpha=0.5); #配置网格线