导读:Python数据可视化的库有很多,常见的有matplotlib、pyplot、Seaborn、pyecharts等。

pyecharts是一款将python与echarts相结合的数据可视化库,可用于制作 Echarts 图表,输出动态的可视化图表,。Echarts 是百度开源的一个数据可视化 JS 库。

以下基于win系统的Python3版本pyecharts0.5.10进行。

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

  • 本笔记中部分所列图形案例代码可在文末附的参考资源中找到。

目录:

pyecharts库安装:

常用国内镜像源:

基本语法(通过案例学习 ):

使用pyecharts-snapshot插件保存图形:

常用图形函数:

1、柱状图/条形图 [堆叠(柱状)图] Bar.add()

2、饼图/环形图/玫瑰图Pie.add()

3、折线图/面积图Line.add()

4、极坐标系Polar.add()

5、散点图/三维气泡图scatter.add()

6、带有闪烁动画的散点图EffectScatter.add()

7、箱体图Boxplot.add()

8、雷达图Rader.add()

9、漏斗图Funnel.add()

10、仪表盘Gauge.add()

11、词云图WordCloud.add()

12、地理坐标系Geo.add()

13、地图Map.add()

14、关系图Grap.add()

15.水球图Liquid.add()

16、平行坐标系Parallel.add()

17、桑基图Sankey.add()

18.自定义图形Grid.add()

19、图标叠加 Overlap.add()

20、同一网页按顺序展示多个图page.add()

21、时间线轮播多张图timeline

主题配置

(1)不改变主题参数

(2)更改主题

整个页面使用同一个主题:

基本配置

1.在Bar()函数里添加的参数

2.在add()函数里添加的参数

更多示例、参考学习资源/博客:


pyecharts库安装:

pyEcharts目前有0.5及以下版本和1.0以上版本,新版的pyecharts发生了许多变化。 最为明显的是以前调整变量的命令现在都发生了改变。网上大部分教程都是0.5及以下版本。这里使用清华镜像安装0.5.10

安装代码:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10

常用国内镜像源:

  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:http://mirrors.aliyun.com/pypi/simple/
  • 中国科学技术大学大学:https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣:http://pypi.douban.com/simple/

使用镜像源的安装方法:

pip install -i https://pypi.doubanio.com/simple/ 包名

基本语法(通过案例学习 ):

#导入柱状图bar
from pyecharts import Bar#设置柱状图的主标题与副标题
bar=Bar("柱状图(标题)","一年的降水量和蒸发量(副标题)")#配置主题
bar.use_theme('dark')  # 设置背景色为“暗色”。需要设置主题背景色时调用use_theme() 函数#设置x轴数据
columns=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]#设置y轴数据
data_1=[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]
data_2=[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]#添加柱状图的数据及配置项
bar.add("降水量",columns,data_1,  #绘图关键信息:图例名称(注释==label),x轴数据,y轴数据mark_line=["average"],  #标记平均值mark_point=["max","min"],  #标记极值is_stack =False,  #数据堆叠,同个类目轴上系列配置相同的stack 值可以堆叠放置。is_stack = True表示堆叠在一起绘制堆叠(柱状)图bar_category_gap ='20%',  #类目轴柱状距离,默认20%is_more_utils=True #提供更多实用工具按钮
)
bar.add( "蒸发量",columns,data_2,mark_line=["average"],mark_point=["max","min"],is_stack =False,  bar_category_gap ='20%', is_more_utils=True# is_convert = True , X 轴与 Y 轴交换,将柱状图改为条形图
)# bar.print_echarts_options()  # 该行打印配置项,方便调试时使用#生成本地文件(默认为.html文件)
bar.render('./picture1.html') #将html文档命名为picture1

运行结果图:

关键代码解读:

add() : 主要方法,用于添加图表的数据和设置各种配置项

render():默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。

print_echarts_options() :打印输出图表的所有配置项

show_config() :打印输出图表的所有配置项

Note: 可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils 为 True

使用pyecharts-snapshot插件保存图形:

如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。 使用该插件请确保你的系统上已经安装了 Nodejs 环境。

1._幻像: 康达安装幻象

2.* pyecharts 快照 : pip 安装 pyecharts 快照

2.调用 render 方法 bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。 请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。

import random
from pyecharts import Bar
#from pyecharts import configure#configure(global_theme='vintage')
X_AXIS = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
bar = Bar("我的第一个图表", "这里是副标题")bar.use_theme("roma")bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)])
bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)])bar.render()
bar.render(path='snapshot.png')

常用图形函数:

1、柱状图/条形图 [堆叠(柱状)图] Bar.add()

2、饼图/环形图/玫瑰图Pie.add()

3、折线图/面积图Line.add()

4、极坐标系Polar.add()

5、散点图/三维气泡图scatter.add()

6、带有闪烁动画的散点图EffectScatter.add()

7、箱体图Boxplot.add()

8、雷达图Rader.add()

9、漏斗图Funnel.add()

10、仪表盘Gauge.add()

11、词云图WordCloud.add()

12、地理坐标系Geo.add()

from pyecharts import Geodata = [("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15),("赤峰", 16),("青岛", 18),("乳山", 18),("金昌", 19),("泉州", 21),("莱西", 21),("日照", 21),("胶南", 22),("南通", 23),("拉萨", 24),("云浮", 24),("梅州", 25)...]geo = Geo("全国主要城市空气质量", "data from pm2.5",title_color="#fff",title_pos="center",width=1200, height=600,background_color='#404a59')attr, value = geo.cast(data)geo.add("", attr, value,visual_range=[0, 200],visual_text_color="#fff",symbol_size=15,is_visualmap=True)geo.show_config()geo.render()

from pyecharts import Geodata = [("海门", 9), ("鄂尔多斯", 12), ("招远", 12), ("舟山", 12), ("齐齐哈尔", 14), ("盐城", 15)]geo = Geo("全国主要城市空气质量", "data from pm2.5", title_color="#fff", title_pos="center",width=1200, height=600, background_color='#404a59')attr, value = geo.cast(data)geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5)geo.show_config()geo.render()

13、地图Map.add()

【数据接口:pyecharts地图数据接口】安装下列地图数据包

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg

Map.add() 方法签名

add(name,attr,value,maptype = 'china',is_roam = True,is_map_symobol_show = True**kwargs)

maptype -> str: 地图类型,支持China,world,北京,天津,上海,湖南,湖北,……363个二线城市

is_roam -> bool/str 是否开启鼠标缩放,漫游等,默认 True,若只想开启缩放/平移 设置scale/move 设置成 True 开启

is_map_symobol_show 是否显示地图标记,默认 True。

案例代码:

from pyecharts import Mapvalue = [155,10,66,78]attr = ['汕头市','汕尾市','揭阳市','肇庆市']map = Map('广东地图示例',width = 1200,height = 600)map.add('',attr,value,maptype = '广东',is_visualmap = True,visual_text_color = '#000',is_label_show = True)map.render('./html/map02.html')

14、关系图Grap.add()

15.水球图Liquid.add()

16、平行坐标系Parallel.add()

17、桑基图Sankey.add()

18.自定义图形Grid.add()

(以上下或左右形式绘图)

19、图标叠加 Overlap.add()

(在同一个图里绘图)

利用第一张图表为基础,将后面的数据画在第一张图上。Line/ Bar/ Kline/ Scatter/ EffectScatter

#EffectScatter + Line 叠加
from pyecharts import Line,EffectScatter,Overlapattr = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
v1 = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,170.1,178.3,175.4,176.5]line = Line('线性_闪烁图示例')
line.add('',attr,v1,is_random = True)
es = EffectScatter()
es.add('',attr,v1,effect_scale=8)  #闪烁overlop = Overlap()
overlop.add(line)       #必须先添加line,在添加es
overlop.add(es)
overlop.render()

20、同一网页按顺序展示多个图page.add()

21、时间线轮播多张图timeline

主题配置

echarts 自带 dark 主题, pyecharts 也自带了 dark。 echarts-themes-pypkg 提供了 vintage, macarons, infographic, shine 和 roma 主题。

安装:

pip install echarts-themes-pypkg

(1)不改变主题参数

from pyecharts import Barv1 = [20,25,35,24]
str1 = ['回忆','生活','现实','失败']
bar1 = Bar('testBar_theme','Theme')bar1.add('test01',str1,v1,is_more_utils = True)bar1.render()

显示效果:

(2)更改主题

单个图换主题:

from pyecharts import Barv1 = [20,25,35,24]
str1 = ['回忆','生活','现实','失败']
bar = Bar('testBar_theme','Theme')
bar.add('test01',str1,v1,is_more_utils = True)# 更换单个图表主题
# 其他主题:vintage,macarons,infographic,shine,roma
bar.use_theme("vintage")bar.render()

显示效果:

整个页面使用同一个主题:

from pyecharts import configureconfigure(global_theme='vintage')

显示效果:

基本配置

1.在Bar()函数里添加的参数

title -> str

主标题文本,支持 \n 换行,默认为 “”

subtitle -> str

副标题文本,支持 \n 换行,默认为 “”

width -> int

画布宽度,默认为 800(px)

height -> int

画布高度,默认为 400(px)

title_color -> str

主标题文本颜色,默认为 ‘#000’

subtitle_color -> str

副标题文本颜色,默认为 ‘#aaa’

background_color -> str

画布背景颜色,默认为 ‘#fff’

page_title -> str

指定生成的 html 文件中 标签的值。 默认为’Echarts’<title>

renderer -> str

指定使用渲染方式,有 ‘svg’ 和 ‘canvas’ 可选,默认为 ‘canvas’。 3D 图仅能使用 ‘canvas’(canvas和svg区别请参考:https://blog.csdn.net/helloword_chen/article/details/49788309)

具体使用代码:

from pyecharts import Barv1 = [20,25,35,24]
str1 = ['回忆','生活','现实','失败']# 默认Bar()第一个参数为 主标题,第二个参数为副标题
bar1 = Bar('testBar_theme','Theme',page_title  = '我的柱状图',title_color  ='#3367FF',subtitle_color= '#3367FF',background_color = '#5AB5FF')bar1.add('vintage',str1,v1,is_more_utils = True)bar1.render(r"H:\PyCoding\FlaskCoding\Test_all\test0608\test01.html")

显示效果

2.在add()函数里添加的参数

is_random -> bool

是否随机排列颜色列表,默认为 False

label_color -> list

自定义标签颜色。 全局颜色列表,所有图表的图例颜色均在这里修改。 如 Bar 的柱状颜色,Line 的线条颜色等等。

is_label_show -> bool

是否正常显示标签,默认不显示。 标签即各点的数据项信息

label_pos -> str

标签的位置,Bar 图默认为’top’。 有’top’, ‘left’, ‘right’, ‘bottom’, ‘inside’,’outside’可选

label_text_color -> str

标签字体颜色,默认为 “#000”

label_text_size -> int

标签字体大小,默认为 12

is_random -> bool

是否随机排列颜色列表,默认为 False

label_formatter -> 功能

回调函数使用

def label_formatter(params):return params.value + ' [Good!]'
(params: Object|Array) => string参数 params 是 formatter 需要的单个数据集。格式如下:{componentType: 'series',// 系列类型seriesType: string,// 系列在传入的 option.series 中的 indexseriesIndex: number,// 系列名称seriesName: string,// 数据名,类目名name: string,// 数据在传入的 data 数组中的 indexdataIndex: number,// 传入的原始数据项data: Object,// 传入的数据值value: number|Array,// 数据图形的颜色color: string,}

具体使用代码

from pyecharts import Bardef label_formatter(params):return params.data +'分'v1 = [20,25,35,24]
attr = ['回忆','生活','现实','失败']bar = Bar('testBar_color','Theme',page_title  = '我的柱状图')# 注意 label_color的属性值为 list(列表)
bar.add("test_X", attr, v1, is_label_show=True,label_color=['#5AB5FF'],label_text_color ='#3367FF',label_formatter=label_formatter)bar.render()

显示效果

更多示例、参考学习资源/博客:

1、Python 数据可视化?

2、Python + PyEcharts——数据可视化

3、Python可视化神器——pyecharts的超详细使用指南!

4、【Python | 做更好的数据可视化】pyecharts进阶用法(一)

5、pyecharts学习笔记

Python数据可视化——pyecharts学习笔记相关推荐

  1. 斯坦福大学数据可视化课程学习笔记:第一节 可视化的发展与目标

    <斯坦福大学数据可视化课程学习笔记>课程资源来自于斯坦福大学数据可视化课程,是我所在团队实习生提升计划的一部分.本系列是 "秉姝" 同学在学习过程中记录和整理的学习笔记 ...

  2. 斯坦福大学数据可视化课程学习笔记:第二节 从数据到图像

    <斯坦福大学数据可视化课程学习笔记>课程资源来自于斯坦福大学数据可视化课程,是我所在团队实习生提升计划的一部分.本系列是 "秉姝" 同学在学习过程中记录和整理的学习笔记 ...

  3. python数据可视化--pyecharts生成图表

    [python可视化系列]python数据可视化利器--pyecharts echarts官网 一.前言 echarts是什么?下面是来自官方的介绍: ECharts,缩写来自Enterprise C ...

  4. python数据可视化pyecharts实战

    一.pyecharts介绍 1.pyecharts简介 pyecharts是Python与Echarts结合之后的产物,Echarts 是一个由百度开源的数据可视化库,它是一个纯JavaScript的 ...

  5. Python数据可视化-Pyecharts不同的主题风格

    本文介绍 PyEcharts主题风格配置 内容,通过内置提供了 10+ 种不同的风格,另外也提供了便捷的定制主题的方法. Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设 ...

  6. 数据可视化echarts学习笔记

    文章目录 echarts 使用 渐变色 一些配置项 dataset与transform数据过滤 dataset transform 动态排序 时间轴更新数据 极坐标系 echarts 官网https: ...

  7. 可视化导论 - 第四章 数据可视化流程 - 学习笔记

    第4章 数据可视化流程 4.1 数据可视化流程 以数据流向为主线,其主要模块包括数据采集.数据处理和变换.可视化映射和用户感知. 4.2 数据处理和数据变换 4.2.1 数据滤波 数据滤波器在信号处理 ...

  8. python数据可视化---Pyecharts作图方式、修饰逻辑与数据格式

    pyecharts库 下载pyecharts库 直接cmd打开命令提示符输入pip install pyecharts后按回车键下载即可 验证pyecharts库 Step1: 打开jupyter n ...

  9. Python数据可视化 Pyecharts 制作 Treemap 矩形树图

    Python 的 Pyecharts 制作 Treemap(矩形树图) 时需要使用的设置参数和常用模板案例,可根据实际情况对案例中的内容进行调整即可. 文章目录 Demo 层级矩阵树图 标准矩阵树图 ...

最新文章

  1. alert()的功能_前端实现简单的图片上传小图预览功能
  2. 算法----选择排序(select sort)
  3. com口驱动_手机都没耳机口了,平衡口现在才来是作死还是?
  4. java io 读取配置文件_java读取配置文件 - tomzhao2008的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 用反向传导模拟共振并用共振频率作分类
  6. 方案 mysql 优点_mysql高可用方案分析
  7. 冯山C语言3 15,冯山
  8. Apache Cassandra和Java入门(第二部分)
  9. python find函数实现原理_非常干货:Python 探针实现原理
  10. Mongoose 索引、Mongoose 内置 CURD 方 法、扩展 Mongoose Model 的静态方法和 实例方法
  11. 【一本通1347】格子游戏
  12. Leetcode-整数反转 C++
  13. 世界第一编程语言是Python「为什么那么火?」
  14. 关于家庭无线局域网的连接
  15. List对象集合通过对象属性进行查找
  16. python课程开课吧怎么样-律所:我们更想招这样的人……
  17. 怎么用Excel来批量生成SQL语句
  18. SQL Server将表数据从一个数据源复制到另一个数据源(未完成)
  19. 操作系统的不确定性是指_读文||不确定性原理—人工智能的哲学基础
  20. JavaScript成都市地图网页代码

热门文章

  1. 我发的文章变成了0和1,那0和1是怎么发送给你的?计算机网络(二)物理层
  2. 互联网等三行业跻身VC投资前三甲
  3. 他狂骗五千万美元消失17年...却被一个纪录片导演锲而不舍的追到了镜头前!...
  4. JAVA相关的视频学习视频,内容较多
  5. 递归实现前n项和(两种方法)
  6. Java使用aspose.word完美实现docx转doc
  7. 深入浅出数据分析读书笔记
  8. Unity开发VR——结合VRTK(二)
  9. CSS source
  10. Driver——同相运算放大器