总共22个完整的pyecharts例子,包含常用的配置方法,每个小例子都包含完整代码,为避免混淆,每个例子都差不多只包含单一配置的代码,更多有趣的源码分享可以在评论区回复。

1. 柱状图堆叠

不同系列的数据使用相同的stack值会堆叠在一起;

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_stack():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())# stack值一样的系列会堆叠在一起bar.add_yaxis('A', Faker.values(), stack='stack1')bar.add_yaxis('B', Faker.values(), stack='stack1')bar.add_yaxis('C', Faker.values(), stack='stack2')return barchart = bar_stack()
chart.render_notebook()

2.关闭坐标轴显示

碰上类目标签过长的时候,可以选择关闭坐标轴,将数据&标签直接显示在图形中

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_with_axis_off():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('', Faker.values())# 碰上类目标签过长的时候,可以选择关闭坐标轴,直接显示在图形中bar.set_series_opts(label_opts=opts.LabelOpts(position='insideLeft', formatter='{b}:{c}'))bar.set_global_opts(xaxis_opts=opts.AxisOpts(is_show=False),yaxis_opts=opts.AxisOpts(is_show=False))bar.reversal_axis()return barchart = bar_with_axis_off()
chart.render_notebook()

3.更改坐标轴数据类型

x轴默认数据类型是使用离散型,在使用散点图的时候可调整为数值型

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = [random.randint(0, 20) for _ in range(100)]
y_data = [random.randint(0, 50) for _ in range(100)]def scatter_with_value_xaxis():scatter = Scatter(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))scatter.add_xaxis(x_data)scatter.add_yaxis('', y_data)# X轴默认数据类型为离散数据,设置为数值型scatter.set_global_opts(xaxis_opts=opts.AxisOpts(type_="value"))return scatterchart = scatter_with_value_xaxis()
chart.render_notebook()

4.双Y轴【直方图&折线图】

实际是Bar和Line两个图表共用同一套坐标体系,将Bar和Line分别指向不同的Y轴

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = ['香蕉', '梨子', '水蜜桃', '核桃', '西瓜', '苹果']
y_data_1 = [random.randint(10, 50) for _ in range(len(x_data))]
y_data_2 = [random.randint(100, 500) for _ in range(len(x_data))]def bar_line_combine_with_two_axis():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(x_data)# 添加一个Y轴bar.extend_axis(yaxis=opts.AxisOpts())bar.add_yaxis('左边Y轴', y_data_1, yaxis_index=0)line = Line(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))line.add_xaxis(x_data)# 将line数据通过yaxis_index指向后添加的Y轴line.add_yaxis('右边Y轴', y_data_2, yaxis_index=1)bar.overlap(line)return barchart = bar_line_combine_with_two_axis()
chart.render_notebook()

5.直方图——双Y轴

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = ['香蕉', '梨子', '水蜜桃', '核桃', '西瓜', '苹果']
y_data_1 = [random.randint(10, 50) for _ in range(len(x_data))]
y_data_2 = [random.randint(100, 500) for _ in range(len(x_data))]def bar_with_multiple_axis():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(x_data)# 添加一个Y轴bar.extend_axis(yaxis=opts.AxisOpts())# 分别指定使用的Y轴bar.add_yaxis('左边Y轴', y_data_1, yaxis_index=0)bar.add_yaxis('右边Y轴', y_data_2, yaxis_index=1)return barchart = bar_with_multiple_axis()
chart.render_notebook()

6.折线图——双X轴

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data_1 = ["2020/10/{}".format(i + 1) for i in range(30)]
x_data_2 = ["2019/10/{}".format(i + 1) for i in range(30)]
y_data_1 = [random.randint(10, 50) for _ in range(30)]
y_data_2 = [random.randint(20, 60) for _ in range(30)]def line_with_two_xaxis():line = Line(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))line.add_xaxis(x_data_1)# 添加一个x轴line.extend_axis(xaxis_data=x_data_2, xaxis=opts.AxisOpts())line.add_yaxis('下面X轴', y_data_1)line.add_yaxis('上面X轴', y_data_2)return linechart = line_with_two_xaxis()
chart.render_notebook()

7.缩略轴——inside组件

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = ["2020/10/{}".format(i + 1) for i in range(30)]# 随机生成点数据
y_data = [random.randint(10, 20) for i in range(len(x_data))]def bar_datazoom_inside():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(x_data)bar.add_yaxis('', y_data)bar.set_global_opts(datazoom_opts=opts.DataZoomOpts(type_='inside',range_start=50,   # 设置起止位置,50%-100%range_end=100))return barchart = bar_datazoom_inside()
chart.render_notebook()

8.缩略轴——slider组件

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = ["2020/10/{}".format(i + 1) for i in range(30)]# 随机生成点数据
y_data = [random.randint(10, 20) for i in range(len(x_data))]def bar_with_datazoom_slider():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(x_data)bar.add_yaxis('', y_data)bar.set_global_opts(datazoom_opts=opts.DataZoomOpts(range_start=50,   # 设置起止位置,50%-100%range_end=100))return barchart = bar_with_datazoom_slider()
chart.render_notebook()

9.XY轴翻转

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_reverse_axis():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('A', Faker.values())bar.add_yaxis('B', Faker.values())# x,y轴翻转bar.reversal_axis()return barchart = bar_reverse_axis()
chart.render_notebook()

10.设置动画效果

在图表加载前会有一段动画效果

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Faker"""
更多动画效果可参见:https://echarts.apache.org/examples/zh/editor.html?c=line-easing
"""def bar_with_animation():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px',animation_opts=opts.AnimationOpts(animation_delay=1000,   # 动画延时animation_easing='bounceIn')))bar.add_xaxis(Faker.choose())bar.add_yaxis('A', Faker.values())bar.add_yaxis('B', Faker.values())return barchart = bar_with_animation()
chart.render_notebook()

11.直方图带视觉组件

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_with_visualmap_color():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('A', Faker.values())bar.add_yaxis('B', Faker.values())# 设置视觉组件,默认通过颜色映射数据,数值范围为0-100,可通过min_和max_进行自定义bar.set_global_opts(visualmap_opts=opts.VisualMapOpts())return barchart = bar_with_visualmap_color()
chart.render_notebook()

12.设置渐变色(线性渐变)

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.commons.utils import JsCodecolor_js = """new echarts.graphic.LinearGradient(0, 1, 0, 0,[{offset: 0, color: '#008B8B'}, {offset: 1, color: '#FF6347'}], false)"""def bar_with_linear_gradient_color():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('', Faker.values(),# 使用JsCode执行渐变色代码itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_js)))return barchart = bar_with_linear_gradient_color()
chart.render_notebook()

13.设置分割线

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_with_custom_splitline():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('A', Faker.values())bar.add_yaxis('B', Faker.values())# 设置分割线bar.set_global_opts(yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True,linestyle_opts=opts.LineStyleOpts(type_='dotted'))))return barchart = bar_with_custom_splitline()
chart.render_notebook()

14.通过字典配置

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef bar_with_dict_config():bar = Bar(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))bar.add_xaxis(Faker.choose())bar.add_yaxis('', Faker.values())# 通过字典配置itemstylebar.set_series_opts(itemstyle_opts=dict(color='#008B8B', opacity=0.8))return barchart = bar_with_dict_config()
chart.render_notebook()

15.GEO 带涟漪效果散点图

from pyecharts.charts import *
from pyecharts import options as optsdef geo_effect_scatter():geo = Geo(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))geo.add_schema(maptype="china")geo.add("",[("广州", 150), ("北京", 70), ("长沙", 64), ("上海", 74),  ("厦门", 63)],# 涟漪效果散点图type_='effectScatter')return geochart = geo_effect_scatter()
chart.render_notebook()

16.GEO热力图

from pyecharts.charts import *
from pyecharts import options as optsdef geo_heatmap():geo = Geo(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))geo.add_schema(maptype="china")geo.add("",[("广州", 150), ("北京", 70), ("深圳", 64), ("上海", 74),  ("杭州", 63)],type_='heatmap')# 热点图必须配置visualmap_optsgeo.set_global_opts(visualmap_opts=opts.VisualMapOpts())return geochart = geo_heatmap()
chart.render_notebook()

17.Map带视觉组件

from pyecharts.charts import *
from pyecharts import options as optsdata = [('广东', 10430),('山东', 9579),('河南', 9402),('四川', 8041),('江苏', 7866),('河北', 7185),('湖南', 6568),('安徽', 5950),('湖北', 5724),('浙江', 5442),('广西', 4603),('云南', 4597),('江西', 4457),('辽宁', 4375),('黑龙江', 3831),('陕西', 3733),('山西', 3571),('福建', 3552),('贵州', 3477),('重庆', 2884),('吉林', 2746),('甘肃省', 2557),('内蒙古', 2471),('台湾', 2316),('上海', 2301),('新疆', 2181),('北京', 1961),('天津', 1294),('海南', 867),('香港', 710),('宁夏', 630),('青海', 562),('西藏', 300),('澳门', 55)]def map_with_viusalmap():map_chart = Map(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))map_chart.add('人口(万人)',data_pair=data,maptype='china',# 关闭symbol的显示is_map_symbol_show=False)map_chart.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=10430,  # visualmap默认映射数据范围是【0,100】,需调整is_piecewise=True,range_color=["#CCD3D9", "#E6B6C2", "#D4587A", "#DC364C"]))return map_chartchart = map_with_viusalmap()
chart.render_notebook()

18.面积图

实现方式就是在折线图先填充区域

from pyecharts.charts import *
from pyecharts import options as opts
import randomx_data = ["2020/10/{}".format(i + 1) for i in range(30)]# 随机生成点数据
y_data = [i + random.randint(10, 20) for i in range(len(x_data))]def line_with_area():line = Line(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))line.add_xaxis(x_data)line.add_yaxis('', y_data)# opacity 默认为0,即透明line.set_series_opts(areastyle_opts=opts.AreaStyleOpts(opacity=0.5))return linechart = line_with_area()
chart.render_notebook()

19.堆叠面积图

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef line_stack_area():line = Line(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))line.add_xaxis(Faker.choose())line.add_yaxis('A',Faker.values(),stack='stack')line.add_yaxis('B',Faker.values(),stack='stack')line.add_yaxis('C',Faker.values(),stack='stack')# opacity 默认为0,即透明line.set_series_opts(areastyle_opts=opts.AreaStyleOpts(opacity=0.5))return linechart = line_stack_area()
chart.render_notebook()

20.饼图自定义图形半径范围

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef pie_custom_radius():pie = Pie(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())],# 设置半径范围,0%-100%radius=["40%", "75%"])return piechart = pie_custom_radius()
chart.render_notebook()

21.饼图自定义数据标签

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef pie_with_custom_label():pie = Pie(init_opts=opts.InitOpts(theme='light',width='1000px',height='600px'))pie.add("", [list(z) for z in zip(Faker.choose(), Faker.values())])pie.set_series_opts(# 自定义数据标签label_opts=opts.LabelOpts(position='top',color='red',font_family='Arial',font_size=12,font_style='italic',interval=1,formatter='{b}:{d}%'))return piechart = pie_with_custom_label()
chart.render_notebook()

22.多饼图

from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.faker import Fakerdef pie_multiple():pie = Pie(init_opts=opts.InitOpts(theme='light',width='1000px',height='800px'))pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())],radius=["20%", "50%"],center=["25%", "50%"])# 添加多个饼图pie.add("",[list(z) for z in zip(Faker.choose(), Faker.values())],radius=["20%", "50%"],center=["75%", "50%"])return piechart = pie_multiple()
chart.render_notebook()

分享到这里结束了,感谢观看,更多Python精彩内容关注我云芸,看我主页。

【Python入门可视化】:22个完整数据可视化小例子,带你玩转可视化~相关推荐

  1. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例

    本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...

  2. python可视化脉搏和血氧数据并通过阈值动态调整、动态可视化异常值

    python可视化脉搏和血氧数据并通过阈值动态调整.动态可视化异常值的情况 # 导入基础库和包: import sys import os import pandas as pd import num ...

  3. python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  4. 收藏 | 100+篇大数据学习资讯,带你玩转大数据分析!

    2019独角兽企业重金招聘Python工程师标准>>> 深度解析如何挑选适合自己的Hadoop平台 什么是Hadoop,怎样学习Hadoop 分布式文件系统HDFS解析 Hadoop ...

  5. python 真多线程_Python之路200个小例子,在线网页版来了,从此学习更方便!

    历史两个月,利用所有业余时间,与朋友一起搜集.创作Python小例子,截止目前已超过200个例子,全新整合汇总为九大章节: 感受Python之美 | 一.Python基础 | 二.Python字符串和 ...

  6. 一个有趣的小例子,带你入门协程模块-asyncio

    上篇文章写了关于yield from的用法,简单的了解异步模式,[上次的内容链接]这次让我们通过一个有趣例子带大家了解asyncio基本使用. 目标效果图 在控制台中显示一个由ASCII字符" ...

  7. python入门指标_【邢不行|量化小讲堂系列18-Python量化入门】简易波动指标(EMV)策略在A股的实证...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用Python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 个人微信:xingbx ...

  8. python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...

    环境:Win10操作系统:Python3.7:Pycharm 题目来源:PTA 编程实例1:日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成"月-日-年",而中国 ...

  9. python简单编程例子-Python入门 —— 用pycharm写一个简单的小程序3

    环境:Win10操作系统:Python3.7:Pycharm 题目来源:PTA 编程实例1:日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成"月-日-年",而中国 ...

最新文章

  1. 跨平台PHP调试器设计及使用方法——协议解析
  2. oracle cusor游标,ORACLE CURSOR 游标详解
  3. 点击TableView任一行跳转详情页面会跳转两次的解决办法
  4. 从性能角度选购Adroid智能手机,双核、大屏与游戏的取舍
  5. linux下使用idl生成h文件,LINIUX下IDL的安装
  6. python移动文件中某个内容_如果python中的某些文件类型,则移动文件并创建目录...
  7. boost::process::async_pipe相关的测试程序
  8. SSO单点登录之跨域问题
  9. SpingMVC 执行的流程
  10. nodemcu固件_从无到有玩NodeMcu:web端控制
  11. 实例构造函数与静态构造函数执行顺序
  12. 十七、Oracle学习笔记:视图操作和表复制
  13. mysql 当前时间的一周后_mysql查询当前时间,一天内,一周,一个月内的sql语句...
  14. 传感器自学笔记第四章——土壤湿度+雨滴模块
  15. 使用Git进行Vivado版本控制
  16. 小学生如何用计算机写字,小学生练字笔顺电脑文章大全短文
  17. 微博跳转淘宝,微博发布宝贝/优惠券/淘客等链接点击后直接跳转淘宝打开
  18. flutter 真机无法调试 sdk报错_中小团队的Flutter实践经验总结
  19. 可可英语奇文老师 中高级词汇记忆方法(免费下载)
  20. 你不曾了解的CVTE的某个部门

热门文章

  1. 静默接口(Silent-interface)
  2. 关于部分显卡开启硬件加速后看优酷等网页视频蓝屏或死机的尝试解决办法
  3. 【学习笔记】常见的提权方式
  4. 【安全工具】内网劫持工具EvilFoca介绍
  5. word2vec (转载)
  6. 模拟QQ隐藏效果的实现(示例+代码+隐藏类)
  7. 干掉感染IE的恶意程序(转)
  8. 简单批处理管理你的VM虚拟机服务,设置开机不启动虚拟机服务
  9. 数据中心制冷系统故障原因及排除方法
  10. 与雅虎专利战 微软助阵Facebook