4-1 简单条图(单变量信息的可视化)

简单条图

用matplotlib实现
DataFrame.plot.bar():对matplotlib.pyplot.bar()的打包调用。

原始的pyplot.bar()需要同时定义类别变量和直条高度变量,打包调用简化了该操作.
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html

# 生成汇总数据
pd.value_counts(ccss.s5)

公司普通职员(白领) 349
企/事业管理人员 177
退休 125
个体经营者/私营业主 123
无业/待业/失业/家庭主妇 87
工人/体力工作者(蓝领) 81
其他职业 51
专业人士(如医生、律师等) 51
教师 43
国家公务员 33
学生 27

pd.value_counts(ccss.s5).plot.bar()
plt.bar(pd.value_counts(ccss.s5).index, pd.value_counts(ccss.s5))

在这里插入图片描述

用seaborn实现
seaborn和pandas有着更好的功能整合,因此支持下列两种数据格式:

类似于matplotlib,x/y轴等变量均以单独的数据序列形式出现
提供数据框名称,绘图用x/y轴等变量均为数据框中的变量列名称(long-form)
提供数据框名称,所有数值列均用于绘图(wide-form)

seaborn.barplot(

x, y, hue : 绘图中所使用的分类/连续变量/颜色分组变量名
data : 数据框名称

order, hue_order : hue变量各类别取值的绘图顺序
orient : “v” | “h”, 条带绘制方向
saturation = 0.75 : float, 直条颜色的饱和度

)返回:matplotlib的Axes对象,注意seaborn这里返回的是一个Axes对象!

注意:从 0.12版起,seabron中的绘图函数必须严格按照data,x,y的方式进行参数指定,对数据框列绘图时不能省略data参数,否则将会报错

# 按照长型数据格式绘图
pd.value_counts(ccss.s5)
sns.barplot(x = pd.value_counts(ccss.s5).index,
            y = pd.value_counts(ccss.s5))
# 按照宽型数据格式绘图
pd.DataFrame(pd.value_counts(ccss.s5)).T
公司普通职员(白领)  企/事业管理人员   退休  个体经营者/私营业主  ...  专业人士(如医生、律师等)  教师  国家公务员  学生

s5 349 177 125 123 … 51 43 33 27

sns.barplot(data = pd.DataFrame(pd.value_counts(ccss.s5)).T)
sns.barplot(data = pd.DataFrame(pd.value_counts(ccss.s5)).T, 
            color = '#ff0000')
# 自定义直条排列顺序
sns.barplot(x = pd.value_counts(ccss.s4).index,
            y = pd.value_counts(ccss.s4))
sns.barplot(x = pd.value_counts(ccss.s4).index,
            y = pd.value_counts(ccss.s4), 
            order = ['初中/技校或以下','高中/中专','大专'])

用countplot()直接绘图
所需参数基本上和barplot完全相同。

由于一个数轴已确定为频数,因此x和y参数不能同时出现。

# 从seaborn 0.12版起必须写成如下格式方可运行:sns.countplot(x = 's4', data = ccss)
sns.countplot(ccss.s4)

百分条图

由于matplotlib中没有直接绘制百分条图的命令,因此将合并在复杂条图中进行介绍,此处略去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

juicy-hua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值