饼图的绘制
饼图属于最传统的统计图形之一,几乎随处可见,例如大型公司的屏幕墙、各种年度论坛的演示稿以及各大媒体发布的数据统计报告等;
饼图是将一个圆分割成不同大小的楔(扇)形,而圆中的每一个楔形代表了不同的类别值,通常根据楔形的面积大小来判断类别值的差异;
pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, labeldistance=1.1)
x:指定绘图的数据
explode:指定饼图某些部分的突出显示,即呈现爆炸式
labels:为饼图添加标签说明,类似于图例说明
colors:指定饼图的填充色
autopct:自动添加百分比显示,可以采用格式化的方法显示
pctdistance:设置百分比标签与圆心的距离
labeldistance:设置各扇形标签(图例)与圆心的距离
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
labels = ['中专','大专','本科','硕士','其他']
explode = [0,0.1,0,0,0]
plt.pie(x = edu,
labels=labels,
autopct='%.1f%%',
explode = explode
)
plt.show()
条形图的绘制
虽然饼图可以很好地表达离散型变量在各水平上的差异,但其不擅长对比差异不大或水平值过多的离散型变量,因为饼图是通过各扇形面积的大小来比价差异的,面积的比较有时并不直观;
对于条形图而言,对比的是柱形的高低,柱体越高,代表的数值越大,反之亦然;
bar(x, height, width=0.8, bottom=None, color=None, edgecolor=None, tick_label=None, label = None, ecolor=None)
x:传递数值序列,指定条形图中x轴上的刻度值
height:传递数值序列,指定条形图y轴上的高度
width:指定条形图的宽度,默认为0.8
bottom:用于绘制堆叠条形图
color:指定条形图的填充色
edgecolor:指定条形图的边框色
tick_label:指定条形图的刻度标签
label:指定条形图的标签,一般用以添加图例
'''垂直条形图'''
import pandas as pd
GDP = pd.read_excel(r'Province GDP 2017.xlsx')
plt.style.use('ggplot')
plt.bar(x = range(GDP.shape[0]),
height = GDP.GDP,
tick_label = GDP.Province,
color = 'steelblue',
)
plt.ylabel('GDP(万亿)')
plt.title('2017年度6个省份GDP分布')
for x,y in enumerate(GDP.GDP):
plt.text(x,y+0.1,'%s' %round(y,1),ha='center')
plt.show()
'''水平条形图'''
GDP.sort_values(by = 'GDP', inplace = True)
plt.barh(y = range(GDP.shape[0]),
width = GDP.GDP,
tick_label = GDP.Province,
color = 'steelblue',
)
plt.xlabel('GDP(万亿)')
plt.title('2017年度6个省份GDP分布')
for y,x in enumerate(GDP.GDP):
plt