pyecharts可视化学生信息

cover

介绍


pyecharts是python的一个包,里面封装了echarts的接口,而echarts是一个功能非常强大的绘图工具,图形非常简洁、美观。相比于matplotlib还是有很多优势的,比如echarts的交互功能。如图:
动画演示

pyecharts

所以它可以用来演示功能、或者数据分析报告等等。

加载数据集


import pandas as pd
import numpy as np
df = pd.read_csv("Student Info.csv") #读取csv文件
df.info() #查看学生各个属性有无缺失值

数据清洗


在加载到数据集之后,我们首先统计一下学生的生源地分布情况。要统计生源地情况,即我们要得到两个列表,第一个为各省份名称,第二个列表为对应名称在数据集中出现的次数(频率)。

region_num = df['生源地'].value_counts() #统计各类别频率
region_num = region_num.values.tolist() #将频率转换为列表
region = df['生源地'].value_counts().keys() #统计各类别频率对应的键值
region = region.values.tolist() #将键值转换为列表
print(region_num) #打印频率查看
print(region) #打印地区查看

绘图-柱状图-地域


我们用pyecharts的柱状图来绘制图形,同时将上面得到的region_num和region作为参数传到绘图函数中。在这里add采用了多个参数,如无需要可以去掉。

  • add()
    主要方法,用于添加图表的数据和设置各种配置项
  • print_echarts_options()
    打印输出图表的所有配置项
  • render()
    默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。
from pyecharts import Bar #引用直方图
bar = Bar("信息工程学院","信息2018级新生生源地统计",width=1000, height = 500)

bar.use_theme('dark') #背景主题

bar.add("生源地", region, region_num, is_stack=False, bar_category_gap='20%',xaxis_interval =0,xaxis_rotate=20, is_more_utils=True)

#bar.render() #导出为网页
bar #查看

通过以上步骤就能看到如下图所示结果

pyecharts01

绘图-饼图-第一志愿

同样要先进行数据清洗,查看有无缺失值

pyecharts02

可以看到,第一志愿数据是不全的,需要进行缺失值处理。

choice = df['第一志愿'].fillna('') #缺失值填充为空
volunteer_first_num = df['第一志愿'].value_counts() #统计各类别频率
volunteer_first_num = region_num.values.tolist() #将频率转换为列表
volunteer_first = df['第一志愿'].value_counts().keys() #统计各类别频率对应的键值
volunteer_first = region.values.tolist() #将键值转换为列表
print(volunteer_first_num) #打印频率查看
print(volunteer_first) #打印地区查看
  • name -> str
    图例名称

  • attr -> list
    属性名称

  • value -> list
    属性所对应的值

  • radius -> list
    饼图的半径,数组的第一项是内半径,第二项是外半径,默认为 [0, 75]
    默认设置成百分比,相对于容器高宽中较小的一项的一半

  • center -> list
    饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标,默认为 [50, 50]
    默认设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度

  • rosetype -> str

    是否展示成南丁格尔图,通过半径区分数据大小,有’radius’和’area’两种模式。默认为’radius’

    • radius:扇区圆心角展现数据的百分比,半径展现数据的大小
    • area:所有扇区圆心角相同,仅通过半径展现数据大小
from pyecharts import Pie #饼图

pie = Pie("第一志愿") #标题

pie.add("", choice, choice_num, radius=[30, 75], is_legend_show=False, is_label_show=True)
#radius半径范围
#is_legend_show是否显示图例
#is_label_show是否显示标签
pie

pyecharts03

总结

以上就是我对pyecharts的简单使用以及探索,在这个过程中我发现参阅文档是极其重要的,在网上闷着头找解决方案不如认真仔细的读一读pyecharts文档 ,里面绝对有你想要找的地方,起初我是找一个字体倾斜的解决方案,找了半天,给的都不是特别全面,在看了文档之后才发现,许多问题作者都是考虑在内了的,这会让你事半功倍。而且,pyecharts的封装是由我们国人完成的,文档阅读起来非常方便,所以必须支持下。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2024 YuleZhang's Blog
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信