python笔记34:数据可视化之饼图

相关文件下载地址:https://pan.baidu.com/s/1JR1IebsEZbJEqqcOAysaSA
提取码:qgsa

# -*- coding: utf-8 -*-
#1. 概念:饼图(Pie Graph),又称原型图,是一个划分为几个扇形的原形统计图,它能够直观地反映个体与总体的比例关系。
#通常和机构分析一起结合使用。

#2. 饼图绘图函数:pie(x,labels,colors,explode,autopct)
#参数说明:
#x:进行绘图的序列
#labels:饼图的各部分标签序列
#colors:饼图的各部分颜色,使用RGB标颜色。可以不设置,默认有默认值
#explode:需要突出的块状序列。如果是0则保持原状,如果是非0那么就会突出
#autopct:饼图占比的显示格式,%.2f:保留两位小数

import numpy
import pandas
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager

#%matplotlib qt
#设置不在交互式命令行绘图,在弹出新的窗口进行绘图

data = pandas.read_csv("D:/workspaces/python/pythonStudy/34.csv",encoding = 'utf-8') #列:号码、省份、手机品牌、通信品牌、手机操作系统、月消费(元)、月流量(M)



result = data.groupby(
                      by=['通信品牌'],
                        as_index=False
                      )['号码'].agg({
                          '用户数':numpy.size
                      })

#result.to_json(orient='index') 
#result.to_json(orient='records',force_ascii=False) 


#设置长宽分辨率
plt.figure(figsize=(5,5),dpi=80) #figsize设置图形长宽,dpi设置分辨率


#关于字体设置的问题:
#我们之前几节课设置字体的方式可能存在的问题:如果我们只有一个字体文件(例如TTF文件),
#我们不知道它在系统对应的名字是什么,那么我们可以通过这个字体文件的绝对路径,生成一个字体
#的属性,然后通过它的get_name方法获取到这个字体的名称。

#使用绝对路径获取字体的名称的方法
fontProp = font_manager.FontProperties(
                                       fname="C:\\Windows\\Fonts\\SIMLI.TTF"
                                       )

#设置字体
font = {
        'family':fontProp.get_name(),
        'size':20
        }

#下面是比较重要的设置:
#设置饼图的横轴和纵轴,设置为等长模式(也就是原形的饼图,而非椭圆形的饼图)
plt.axis('equal')

plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%.2f%%'
        )

#设置突出的部分(不太明白,视频中没有讲解)
explode=(0.1,0.2,0.3)
plt.axis('equal')
plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%.2f%%',
        explode=explode,
        startangle=67
        )
plt.show()

程序运行结果
设置突出前:
设置突出前
设置突出后:
设置突出后

猜你喜欢

转载自blog.csdn.net/aiyo92/article/details/88356647