python-使用pyecharts绘制各省份高校数量图

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中填数据就可以了。

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

原文地址:https://www.cnblogs.com/mrlayfolk/p/12633685.html

时间: 2024-10-31 18:08:49

python-使用pyecharts绘制各省份高校数量图的相关文章

广义mandelbrot集,使用python的matplotlib绘制,支持放大缩小

迭代公式的指数,使用的1+5j,这是个复数,所以是广义mandelbrot集,大家可以自行修改指数,得到其他图形.各种库安装不全的,自行想办法,可以在这个网站找到几乎所有的python库 http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib #encoding=utf-8 import numpy as np import pylab as pl import time from matplotlib import cm from math

Python使用plotly绘制数据图表的方法

转载:http://www.jb51.net/article/118936.htm 本篇文章主要介绍了Python使用plotly绘制数据图表的方法,实例分析了plotly绘制的技巧. 导语:使用 python-plotly 模块来进行压测数据的绘制,并且生成静态 html 页面结果展示. 不少小伙伴在开发过程中都有对模块进行压测的经历,压测结束后大家往往喜欢使用Excel处理压测数据并绘制数据可视化视图,但这样不能很方便的使用web页面进行数据展示.本文将介绍使用python-plotly模块

如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态--附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣的伙伴可以戳这篇文章:利用Python词云和wordart可视化工具对朋友圈数据进行可视化. 今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况.代码实现蛮简单的,具体的教程如下. 相信大家都知道,直接通过网页抓取微信的数据

python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt import numpy as np import mpl_toolkits.axisartist as axisartist def sigmoid(x): return 1. / (1 + np.exp(-x)) def tanh(x): return (np.exp(x) - np.e

014 Python基本图形绘制小结

目录 一.Python基本语法元素 1.1 温度转换 二.Python基本图形绘制 2.1 Python蟒蛇绘制 一.Python基本语法元素 缩进.注释.命名.变量.保留字 数据类型.字符串. 整数.浮点数.列表 赋值语句.分支语句.函数 input().print().eval(). print()格式化 1.1 温度转换 # TempConvert.py TempStr = input("请输入带有符号的温度值: ") if TempStr[-1] in ['F', 'f']:

绘制商务办公思维导图要有哪些步骤

我们在日常生活和工作中可以发现,思考能力强的人在做事情上会显得更加谨慎,会给人一种有条不紊的感觉,遇到问题也能很快的解决.而思维能力差的人,在遇到困难的时候会显示手忙脚乱,把事情处理得一团糟.这主要是因为思维能力强的人在思考问题的时候会进行系统的分析,而且因为其思维的发散性和创造性,总能从意想不到的地方来解决问题.但是思维能力较差就有可能想不到这个层面,但是不是没有解决的方法的. 那要怎样操作呢? 可以通过绘制思维导图来完成这项任务,渐渐来改善自己的思维,这样不管是在工作还是在自身条件中都能得到

利用在线画图工具绘制人际交往思维导图方法介绍

人际交往在现在的生活中是一个很重要的话题,这更是在工作中很高深的一门学问,只有熟练掌握这门课程我们才能领悟到更多工作带来的快意,下面是小编分享的人际交往思维导图的绘制方法,希望可以帮助到大家. 1.首先要找到能绘制思维导图的软件或者是在线网站,以下操作方法在迅捷画图在线网站中进行,进入网站之后选择立即体验就可以进行绘制使用. 2.然后进入画图就会进入新建文件页面,在新建文件页面中选择思维导图进行新建. 3.新建的思维导图就是在线编辑思维的操作页面,在绘制思维导图的时候也需要很细致,要考虑很多因素

基于D3.js 绘制一个折柱混合图

测试题目:使用 D3 绘制一个折柱混合图,示例数据如下: data = [ ["时间", "销售额", "增长率(%)"], ["一月", 27506, 20.8], ["二月", 24399, 5.4], ["三月", 23120, 22], ["四月", 22053, 0.4], ["五月", 21221, 3.1], ["六月&qu

CAD绘制射频电路腔体图总结

前言:在制作射频电路时,我们总是会对每一个射频电路绘制一个金属腔体图.一是起到电路外壳保护美观作用:二是能够充分接地屏蔽外加电磁干扰的问题. 一.绘制腔体图的视图 绘制电路腔体图,实质上就是绘制器件的六视图.通过六视图来表达目标腔体的全部信息.各基本投影面的展开方式:即保持正投影面不动,其余各面按箭头所指方向展开,使之与正投影面共面,即得六个基本视图.展开后各视图的配置:六个基本视图之间仍保持着与三视图相同的“长对正.高平齐.宽相等”的投影规律,即主视图.俯视图和仰视图长对正(后视图同样反映零件