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进程间通信之共享内存详解
Oct 30 Python
Python实现的桶排序算法示例
Nov 29 Python
Python找出最小的K个数实例代码
Jan 04 Python
python绘制热力图heatmap
Mar 23 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
Python列表(List)知识点总结
Feb 18 Python
对python 中class与变量的使用方法详解
Jun 26 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
python使用多线程+socket实现端口扫描
May 28 Python
Python新手学习函数默认参数设置
Jun 03 Python
Python xlrd模块导入过程及常用操作
Jun 10 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 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项目多语言配置平台实现过程解析
2020/05/18 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
python计算最小优先级队列代码分享
2013/12/18 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
检察官就职演讲稿
2014/01/13 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
2014年妇联工作总结
2014/11/21 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
导游词之张家口
2019/12/13 职场文书