python的pyecharts绘制各种图表详细(附代码)


Posted in Python onNovember 11, 2019

环境:pyecharts库,echarts-countries-pypkg,echarts-china-provinces-pypkg,echarts-china-cities-pypkg

数据:2018年4月16号的全国各地最高最低和天气类型的数据——2018-4-16.json(爬虫爬的)

代码:天气数据爬虫代码,图表绘制代码 代码地址:https://github.com/goodloving/pyecharts.git(py文件)

一、公共属性

1、标题栏的属性:一般在实例化(初始化)类型时给与,如bar = Bar(“大标题”,“副标题”,···各种属性···)

title_color = “颜色”:标题颜色,可以是‘red'或者‘#0000'

title_pos = ‘位置':标题位置,如‘center',‘left'···

width = 1200:图表的宽

height = 800:图表的高

background_color = "颜色":图表的背景色

·····

2、标签栏的属性:如bar.add(“标签”,x,values,···属性···)

'mark_'类,通个'mark_'显示,如 mark_point['max', 'min', 'average']:标出最大最小和平均值的点,

mark_point_textcolor,mark_line_symbolsize·····

'legend_'类,如legend_pos=‘left':标签的位置

'is_'类,如is_label_show=True:显示每个点的值,is_datazoom_show=True:实现移动控制x轴的数量

is_convert = True:x,y轴是否调换

eg:

bar = pyecharts.Bar("全国各地最高气温", "2018-4-18", title_color='red', title_pos='right', width=1400, height=700, background_color='#404a59')
bar.add("最高气温", cities, highs, mark_point=['max', 'min', 'average'], is_label_show=True, is_datazoom_show=True, legend_pos='left')
bar.render('Bar-High.html')

python的pyecharts绘制各种图表详细(附代码)

3、Geo,Map无法显示底图

pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。

地图文件被分成了三个 Python 包,分别为:
全球国家地图: echarts-countries-pypkg (1.9MB)
中国省级地图: echarts-china-provinces-pypkg (730KB)

中国市级地图: echarts-china-cities-pypkg (3.8MB)

(1)pycharm直接在设置里面搜索安装这三个库

(2)pip安装

pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

二、各种图表

1.柱状图/条形图——Bar

bar = pyecharts.Bar("全国各地最高最低气温", "2018-4-18", title_pos='right', title_color='blue', width=1400, height=700,background_color='white')
bar.add("最高气温", cities, highs, mark_point=['max'], legend_text_color='red', is_datazoom_show=True)
bar.add("最低气温", cities, lows, mark_line=['min'], legend_text_color='blue' )


bar.render('Bar-High-Low.html')

python的pyecharts绘制各种图表详细(附代码)

2、散点图——EffectScatter

es = pyecharts.EffectScatter("最低气温动态散点图", "2018-4-16", title_pos='right', title_color='blue', width=1400, height=700, background_color='white')
es.add("最低温度", range(0, len(cities)), lows, legend_pos='center', legend_text_color='blue',symbol_size=10, effect_period=3, effect_scale=3.5, symbol='pin',is_datazoom_show=True,is_label_show=True)


es.render("EffectScatter-low.html")

python的pyecharts绘制各种图表详细(附代码)

3、漏斗与——Funnel

fl = pyecharts.Funnel("最高气温漏斗图", "2018-40-16", title_pos='left', width=1400, height=700)
fl.add("最低气温", cities[:15], lows[:15], is_label_show=True, label_pos='inside', label_text_color='white')


fl.render("Funnel-low.html")

python的pyecharts绘制各种图表详细(附代码)

4、仪表盘——Guage

gu = pyecharts.Gauge("仪表盘图")
gu.add("指标", "达标", 80)


gu.render("Guage-eg.html")

python的pyecharts绘制各种图表详细(附代码)

5、地理坐标图——Geo

geo = pyecharts.Geo("最高气温地理坐标系图", '2018-4-16', title_color='#fff', title_pos='center', width=1200, height=600, background_color='#404a95')
geo.add("最高气温", cities, highs, is_visualmap=True, visual_range=[0, 40], visual_text_color='#fff', symbol_size=5, legend_pos='right',is_geo_effect_show=True)


geo.render("Geo-Low.html")

python的pyecharts绘制各种图表详细(附代码)

6、关系图——Graph(略)

7、折线/面积图——Line

line = pyecharts.Line("气温变化折线图", '2018-4-16', width=1200, height=600)
line.add("最高气温", cities, highs, mark_point=['average'], is_datazoom_show=True)
line.add("最低气温", cities, lows, mark_line=['average'], is_smooth=True)


line.render('Line-High-Low.html')

python的pyecharts绘制各种图表详细(附代码)

line = pyecharts.Line("气温变化折线图", '2018-4-16', width=1200, height=600)
line.add("最高气温", cities, highs, mark_point=['average'], is_datazoom_show=True, is_fill=True, line_opacity=0.2, area_opacity=0.4)
line.add("最低气温", cities, lows, mark_line=['average'], is_smooth=True, is_fill=True, area_color="#000", area_opacity=0.5)


line.render('Area-High-Low.html')

python的pyecharts绘制各种图表详细(附代码)

8、水滴球——Liquid

lq = pyecharts.Liquid("水滴球")
lq.add("Liquid", [0.8, 0.5, 0.2], is_liquid_outline_show=False, is_liquid_animation=True)


lq.render("LiQuid.html")

python的pyecharts绘制各种图表详细(附代码)

9、地图——Map

a_city = []
for i in cities:
a_city.append(i + '市')
map = pyecharts.Map("湖北最低气温", width=1200, height=600)
map.add("最低气温", a_city, lows, maptype='湖北', is_visualmap=True, visual_text_color='#000', visual_range= [-15, 20])


map.render("Map-low.html")

python的pyecharts绘制各种图表详细(附代码)

value = [95.1, 23.2, 43.3, 66.4, 88.5]

attr= ["China", "Canada", "Brazil", "Russia", "United States"]

map = Map("世界地图示例", width=1200, height=600)

map.add("", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000')

map.render('Map-World.html')

python的pyecharts绘制各种图表详细(附代码)

10、平行坐标图——Parallel

parallel = pyecharts.Parallel("高低温度的平行坐标系图", '2018-4-16', width=1200, height=600)
parallel.config(cities[:20])
parallel.add("高低温", [highs[:20], lows[:20]], is_random=True)


parallel.render('Parallel-High-Low.html')

python的pyecharts绘制各种图表详细(附代码)

11、饼图——Pie

sun = 0
cloud = 0
lit_rain = 0
mit_rain = 0
sail = 0
shadom = 0
z_rain = 0
th_rain = 0
for i in types:
if i == '晴':
sun += 1
elif i == '多云':
cloud += 1
elif i == '小雨':
lit_rain += 1
elif i == '中雨':
mit_rain += 1
elif i == '阴':
shadom += 1
elif i == '阵雨':
z_rain += 1
elif i == '雷阵雨':
th_rain += 1
elif i == '扬沙':
sail += 1
pie = pyecharts.Pie("全国天气类型比例", '2018-4-16')
pie.add('天气类型', weather, [mit_rain, lit_rain, sail, sun, th_rain, cloud, shadom, z_rain], is_label_show=True)


pie.render('Pie-weather.html')

python的pyecharts绘制各种图表详细(附代码)

修改:

pie = pyecharts.Pie("全国天气类型比例", '2018-4-16', title_pos='center')
pie.add('天气类型', weather, [mit_rain, lit_rain, sail, sun, th_rain, cloud, shadom, z_rain], is_label_show=True, legend_pos='left', label_text_color=None, legend_orient='vertical', radius=[30, 75])


pie.render('Pie-weather.html')

python的pyecharts绘制各种图表详细(附代码)

pie镶嵌:

center -> list

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

rosetype -> str

是否展示成南丁格尔图,通过半径区分数据大小,有'radius'和'area'两种模式。默认为'radius'radius:扇区圆心角展现数据的百分比,半径展现数据的大小area:所有扇区圆心角相同,仅通过半径展现数据大小

pie = pyecharts.Pie("全国天气类型比例", '2018-4-16')
pie.add('', weather, [mit_rain, lit_rain, sail, sun, th_rain, cloud, shadom, z_rain], is_label_show=True, label_text_color=None, legend_orient='vertical', radius=[40, 50], center=[50, 50])
pie.add('', ['中雨', '小雨', '扬沙', '晴'], [lit_rain, mit_rain, sun, sail], radius=[10, 35], center=[50, 50], rosetype='area')


pie.render('Pie-weather.html')

python的pyecharts绘制各种图表详细(附代码)

至此,pyecharts的大多数图标的绘制我们都可以实现了,更多知识可以查看下面链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python urlopen 使用小示例
Sep 06 Python
Python pickle模块用法实例
Apr 14 Python
查看Python安装路径以及安装包路径小技巧
Apr 28 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
Python shutil模块用法实例分析
Oct 02 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 Python
python如何将mat文件转为png
Jul 15 Python
python OpenCV GrabCut使用实例解析
Nov 11 #Python
Python上下文管理器用法及实例解析
Nov 11 #Python
Django 请求Request的具体使用方法
Nov 11 #Python
浅谈Python类中的self到底是干啥的
Nov 11 #Python
python 调试冷知识(小结)
Nov 11 #Python
通过 Django Pagination 实现简单分页功能
Nov 11 #Python
python机器学习实现决策树
Nov 11 #Python
You might like
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
php中explode函数用法分析
2014/11/15 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
vue实现拖拽效果
2019/12/23 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
python单链表实现代码实例
2013/11/21 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python生成密码库功能示例
2017/05/23 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
写一个方法1000的阶乘
2012/11/21 面试题
北大青鸟学生求职信
2013/09/24 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
导游词范文
2015/02/13 职场文书
初中生物教学随笔
2015/08/15 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
关于MySQL中的 like操作符详情
2021/11/17 MySQL