准备工作
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import numpy as np
import pandas as pd
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
#seaborn中显示中文
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})
#去除部分警告
import warnings
warnings.filterwarnings('ignore')
sns.set() #返回seaborn默认设置
柱状图(条形图)
seaborn.barplot()
- x,y,hue:绘图中所使用的分类/连续变量/颜色分组变量名
- data:数据框名称
- order,hue_order:hue变量各类别取值的绘图顺序
- orient:“v” | “h”,条带绘制方向
- saturation = 0.75 : float, 直条颜色的饱和度
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})
x = ['金融','农业','制造业','新能源']
y = [164,86,126,52]
sns.barplot(x,y)
plt.savefig("F:\\01.jpg")
结果:
按顺序排列:
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})
x = ['金融','农业','制造业','新能源']
y = [164,86,126,52]
sns.barplot(x,y,order = ['金融','制造业','农业','新能源'])
plt.savefig("F:\\01.jpg")
结果:
自定义透明度,并横着排放
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})
x = ['金融','农业','制造业','新能源']
y = [164,86,126,52]
sns.barplot(y,x,order = ['金融','制造业','农业','新能源'],
orient = 'h', #使之横过来,但前面要是y,x
saturation = 0.25 #自定义透明度
)
plt.savefig("F:\\01.jpg")
结果:
加载数据集
#加载数据集
tips = sns.load_dataset("tips")
tips.head()
- total_bill:一顿饭的餐费金额
- tip:该顿饭给的小费
- size:吃饭人数
- smoker:服务生是否抽烟
- day:星期几吃的饭
- sex:服务生性别
- time:吃饭时间,午餐或者晚餐
sns.barplot(x='day',y='tip',
data=tips #数据取自tips数据集
)
plt.savefig("F:\\01.jpg")
结果:
柱子高度是那一类别下所有值的平均数。图形上方竖线是误差线,一均值为中心的置信区间
多组数据的直方图
sns.barplot(x='day',y='tip',
data=tips,
hue = 'sex'
)
plt.savefig("F:\\01.jpg")
结果:
条形图——交换x,y
sns.barplot(y = 'day',x = 'tip',data = tips)
plt.savefig("F:\\01.jpg")
结果: