1、环境

代码运行环境:python3.7

相关的库:pyecharts 1.7.1

代码编辑器:visual studio code

2、目的

通过使用pyecharts库,来绘制全国各省985高校的数量分布图,用这个来练习pyecharts库绘制地图。

3、相关说明

(1)pyecharts库简介

官方文档:https://pyecharts.org/#/zh-cn/intro

图库样本:http://gallery.pyecharts.org/#/README

官方的简介如下:Echarts是一个由百度开源的数据可视化,能够进行良好的交互性,精巧的图表设计,得到了众多开发者的认可。而Python是一门富有表达力的语言,很适合用于数据处理。分析遇上数据可视化时,pyecharts诞生了。

使用pyecharts库来生成地图特别方便,而且官方提供了图库样本,对开发人员来说省事了不少,我也是今天才初次接触到这个库,这篇博客也是简单的记录一下自己的学习过程。

(2)使用visual studio code动态预览html文件

参考链接:https://jingyan.baidu.com/album/0aa22375ef8162c8cc0d64a8.html?picindex=3

由于使用pyecharts库输出的是一个html文件,我又不想每次都去点击输出的html文件再运行,很麻烦。于是在网上找了一下如何在vs code中运行html文件。

我执行python,更新html后,绘制的图就会更新,用来调试还是很方便的。效果图如下:

4、代码及其说明

(1)官方给的参考代码

链接:http://gallery.pyecharts.org/#/Map/map_visualmap_piecewise

 1 from pyecharts import options as opts
2 from pyecharts.charts import Map
3 from pyecharts.faker import Faker
4
5 c = (
6 Map()
7 .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
8 .set_global_opts(
9 title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
10 visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),
11 )
12 .render("map_visualmap_piecewise.html")
13 )

这种写作风格的代码我之前没怎么接触过(可能是由于我接触的代码太少了,囧),看了好一会儿才明白它的意思。

它的含义其实就是实例化了一个类对象,并使用了类的add、set_global_opts和render方法,上面的代码等价与如下的代码:

1 m = Map()
2 m.add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
3 m.set_global_opts(
4 title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
5 visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),
6 )
7 m.render("map_visualmap_piecewise.html")

果然我还是习惯下面这种代码风格。

(2)各省份985高校分布图

直接放代码了:

 1 # encoding: utf-8
2
3 from pyecharts.charts import Map
4 from pyecharts import options as opts
5 from college import school_list_of_985
6
7
8 # 获取高校数据
9 def get_data():
10 provinces = []
11 school_nums = []
12 for province in school_list_of_985:
13 provinces.append(province)
14 school_nums.append(len(school_list_of_985[province]))
15 return [provinces, school_nums]
16
17
18 # 绘制地图
19 def draw_a_map(data):
20 provinces = data[0]
21 school_nums = data[1]
22 mm = Map()
23 mm.add('学校数量', [[provinces[i], school_nums[i]] for i in range(len(provinces))], "china")
24 mm.set_global_opts(
25 title_opts=opts.TitleOpts(title="全国985高校分布图"),
26 visualmap_opts=opts.VisualMapOpts(max_=8, is_piecewise=True, split_number=4),
27 )
28 mm.render("map_visualmap_piecewise.html")
29
30
31 if __name__ == '__main__':
32
33 data = data = get_data()
34
35 if len(data[0]) == len(data[1]):
36 draw_a_map(data)

这里主要调用了Map类的两个方法,

一个是add方法,官方说明为:https://pyecharts.org/#/zh-cn/geography_charts?id=map%ef%bc%9a%e5%9c%b0%e5%9b%be

一个是set_global_opts方法,没找到官方说明,不过它的参数也不多,直接看源码也能大概猜个一二。

上面的college是我自定义的一个py文件,里面放的是一个字典school_list_of_985,我也把它放出来吧。

 1 # {province: school}
2 school_list_of_985 = {
3 "北京": ['北京大学', '清华大学', '中国人民大学', '北京理工大学', '北京航空航天大学', '北京师范大学', '中央民族大学', '中国农业大学'],
4 '陕西': ['西安交通大学', '西北农林科技大学', '西北工业大学'],
5 '湖南': ['湖南大学', '中南大学', '国防科技大学'],
6 '上海': ['同济大学', '复旦大学', '上海交通大学', '华东师范大学'],
7 '四川': ['四川大学', '电子科技大学'],
8 '湖北': ['武汉大学', '华中科技大学'],
9 '江苏': ['南京大学', '东南大学'],
10 '天津': ['天津大学', '南开大学'],
11 '辽宁': ['东北大学', '大连理工大学'],
12 '山东': ['山东大学', '中国海洋大学'],
13 '广东': ['中山大学', '华南理工大学'],
14 '福建': ['厦门大学'],
15 '浙江': ['浙江大学'],
16 '安徽': ['中国科学技术大学'],
17 '重庆': ['重庆大学'],
18 '黑龙江': ['哈尔滨工业大学'],
19 '吉林': ['吉林大学'],
20 '甘肃': ['兰州大学']
21 }

5、效果图

执行的结果如下:

至此,这篇博客也就写在这里了,当然pyecharts库还有很多其它的图表,我暂时没使用,就不说明它了。使用现成的API进行开发,其实是很快速简单的一件事,往API中填数据就可以了。

如果文中有什么错误的地方,还望网友指出来。

python-使用pyecharts绘制各省份985学校数量图的更多相关文章

  1. Python 竟能绘制如此酷炫的三维图

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图. 八面体 我们先以下面这个八面体 ...

  2. Python pyecharts绘制柱状图

    本文摘抄至https://05x-docs.pyecharts.org/#/zh-cn/charts_base?id=bar%ef%bc%88%e6%9f%b1%e7%8a%b6%e5%9b%be%e ...

  3. Python pyecharts绘制饼图

    一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...

  4. Python pyecharts绘制漏斗图

    一.pyecharts绘制漏斗图方法简介 funnel.add()方法简介add(name, attr, value, funnel_sort="ascending", funne ...

  5. Python pyecharts绘制水球图

    一.水球图Liquid.add()方法简介 Liquid.add()方法签名add(name, data, shape='circle', liquid_color=None, is_liquid_a ...

  6. Python pyecharts绘制折线图

    一.pyecharts绘制折线图line.add()方法简介 line.add()方法简介 add(name,x_axis,y_axis,is_symbol_show=True, is_smooth= ...

  7. Python pyecharts绘制词云图

    一.pyecharts绘制词云图WordCloud.add()方法简介 WordCloud.add()方法简介 add(name,attr,value, shape="circle" ...

  8. python可视化pyecharts

    python可视化pyecharts 简单介绍 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化 ...

  9. pyecharts绘制geo地图

    pyecharts是一种非常强大的绘图python库,绘制的图形非常好看,并且有代表性,不仅仅是地图,还可以绘制条形图.饼图.词云图等等. # 安装方法 pip install pyecharts # ...

  10. 第八章用matplotlib、seaborn、pyecharts绘制散点图

    文章目录 散点图 matplotlib绘制散点图 seaborn绘制散点图 pyecharts绘制散点图 源码地址 本文可以学习到以下内容: matplotlib 中文乱码解决办法 seaborn 中 ...

随机推荐

  1. 为什么我要写spring.factories文件?

    在阅读spring-boot相关源码时,常常见到spring.factories文件,里面写了自动配置(AutoConfiguration)相关的类名,因此产生了一个疑问:"明明自动配置的类 ...

  2. 力扣162(java&python)-寻找峰值(中等)

    题目: 峰值元素是指其值严格大于左右相邻值的元素. 给你一个整数数组 nums,找到峰值元素并返回其索引.数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可. 你可以假设 nums[ ...

  3. 几种常见的MySQL/PolarDB-MySQL回收表空间方法对比

    简介: 当我们频繁的删除表中的数据后,碎片就会变多,有经验的DBA就会回收表空间,回收表空间有好几种方式,我们要选择哪一种呢? 背景 为什么需要回收表空间?任何一个存储或您购买的实例规格都有容量限制, ...

  4. 迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台

    我在迁移一个古老的项目为 .NET 6 框架,但是 VS 提示 error NETSDK1136 如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 的项目或包,则 ...

  5. dotnet OpenXML 文本删除线解析方法

    本文来告诉大家如何解析读取在 OpenXML 里面存放的文本删除线,本文使用 PowerPoint 作为例子来告诉大家如何读取然后在 WPF 应用里面显示 在开始之前,期望大家已了解如何在 dotne ...

  6. dotnet 使用 XWT 构建跨平台客户端 入门篇

    本文告诉大家如何入门开始开发一个基于 mono 组织开源的 XWT 跨平台客户端 UI 框架的应用,本文的 xwt 是在 GitHub 上完全开源的,基于 MIT 协议的,底层采用 GTK# 的 UI ...

  7. Google高精度的搜索技巧

    利用"关键字",完全匹配搜索(双引号精准搜索). 利用"关键字:档案类型",搜寻特定档案类型. 例如:"简历:doc"."钢铁侠: ...

  8. ffmpeg7.0常用命令笔记 windows下

    1.多媒体格式转换 ffmpeg -i input.mov -acodec copy -vcodec copy out.mp4 2.从多媒体文件中抽取音频 ffmpeg -i input.mov -v ...

  9. JAVA也能用上Seq啦

    前言 在.NET生态中,Serilog凭借其强大的结构化日志记录功能和与Seq的无缝集成,已经成为许多开发者的首选日志记录工具.Seq作为一个日志检索和仪表板工具,能够将日志中的插值转换为结构化数据, ...

  10. 四、【转】基于知识图谱的推荐系统(KGRS)综述

    以下文章来源于AI自然语言处理与知识图谱 ,作者Elesdspline 导语 本文是2020年针对知识图谱作为辅助信息用于推荐系统的一篇综述.知识图谱对于推荐系统不仅能够进行更精确的个性化推荐,而且对 ...