Python 数据可视化pyecharts的使用详解

什么是pyecharts?  

pyecharts 是一个用于生成 Echarts 图表的类库。

echarts是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。

使用 pyecharts可以生成独立的网页,也可以在 flask , Django中集成使用。

pyecharts包含的图表

  • Bar(柱状图/条形图)
  • Bar3D(3D 柱状图)
  • Boxplot(箱形图)
  • EffectScatter(带有涟漪特效动画的散点图)
  • Funnel(漏斗图)
  • Gauge(仪表盘)
  • Geo(地理坐标系)
  • Graph(关系图)
  • HeatMap(热力图)
  • Kline(K线图)
  • Line(折线/面积图)
  • Line3D(3D 折线图)
  • Liquid(水球图)
  • Map(地图)
  • Parallel(平行坐标系)
  • Pie(饼图)
  • Polar(极坐标系)
  • Radar(雷达图)
  • Sankey(桑基图)
  • Scatter(散点图)
  • Scatter3D(3D 散点图)
  • ThemeRiver(主题河流图)
  • WordCloud(词云图)

用户自定义

  • Grid 类:并行显示多张图
  • Overlap 类:结合不同类型图表叠加画在同张图上
  • Page 类:同一网页按顺序展示多图
  • Timeline 类:提供时间线轮播多张图

pyecharts安装

pip install pyecharts

这里要专门说明一下,自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表(Geo、Map),可自行安装对应的地图文件包。

否则在用到这两个包的时候,并能完整的显示地图效果。

全球国家地图:echarts-countries-pypkg(1.9MB): 世界地图和 213 个国家,包括中国地图

中国省级地图:echarts-china-provinces-pypkg(730KB):23 个省,5 个自治区

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

Windows下通过已下的pip命令进行安装

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg

Linux下通过以下的pip命令进行安装

sudo pip3 install echarts-countries-pypkg
sudo pip3 install echarts-china-provinces-pypkg
sudo pip3 install echarts-china-cities-pypkg
sudo pip3 install echarts-countries-pypkg
sudo pip3 install echarts-china-provinces-pypkg
sudo pip3 install echarts-china-cities-pypkg

相关函数、参数说明

先介绍一些可能会用到的基本函数:

  • add() 主要方法,用于添加图表的数据和设置各种配置项
  • show_config() 打印输出图表的所有配置项
  • render() 默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:my_first_chart.html"),文件用浏览器打开。

默认的编码类型为 UTF-8,在 Python3 中是没什么问题的,Python3 对中文的支持好很多。但是在 Python2 中,编码的处理是个很头疼的问题,暂时没能找到完美的解决方法,目前只能通过文本编辑器自己进行二次编码,我用的是 Visual Studio Code,先通过 Gbk 编码重新打开,然后再用 UTF-8 重新保存,这样用浏览器打开的话就不会出现中文乱码问题了。(这里是某位大佬遇到的问题,我直接复制过来了,供大家参考)

基本上所有的图表类型都是这样绘制的:

  • chart_name = Type() 初始化具体类型图表。
  • add() 加数据及配置项。
  • render() 生成 .html 文件。

基本图表使用实例

Bar(柱状图/条形图)

from pyecharts import Bar
bar =Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])
bar.show_config()
bar.render()

from pyecharts import Bar
bar =Bar("x 轴和 y 轴交换")
bar.add("商家A", attr, v1)
bar.add("商家B", attr, v2, is_convert=True)
bar.render()

说明:如下代码,atf_tb1属性是并不会显示在图表中的

bar = Bar()
bar.add('格式化',["atf_tb1","shop"],[10,50])
bar.add("范围", ["shop"], [120])
bar.render()

可以看到atf_tb1并没有加载到图表中,说明并不支持这么使用

Pie(饼图)

from pyecharts import Pie
attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 =[11, 12, 13, 10, 10, 10]
pie =Pie("饼图示例")
pie.add("", attr, v1, is_label_show=True)
pie.show_config()
pie.render()

WordCloud(词云图)

from pyecharts import WordCloud
name =['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
value =[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
wordcloud =WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud.show_config()
wordcloud.render()

词云图的形状可以通过shape参数来选择

wordcloud =WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[30, 100], shape='diamond')
wordcloud.show_config()
wordcloud.render()

Geo(地理坐标系)

from pyecharts import Geo
data =[("海门", 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()

这里也要先说明一点因为echarts里面有的地点可能没有,一旦添加了没有的在这里面,将会生成一个空的图。

有四个解决办法:

一是最简单的把不存在删掉;

二是到百度地图api里把找不到的地方的经纬度加进原始的包里(这个办法大家可以参看这位大佬的博客https://www.jb51.net/article/163958.htm);

三是如果你的数据在地图中并没有坐标城市,可以通过geo_cities_coords 自己进行添加,GeoLine图同样如此

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: jyroy
from pyecharts import Geo
 if __name__ == '__main__':

 list_city_name=["100,30-1","130,40-2"]
 list_num = [["value1","value2"],["value3"]]
 geo_cities_coords = {"100,30-1":[100,30],"130,40-2":[130,40]}

 geo = Geo("Geo 实例")
 geo.add("",list_city_name, list_num, geo_cities_coords=geo_cities_coords)
 geo.render()

四是如果你是批量的导入导入数据(类似从数据库中),异常数据并不想插入到地图中去,可以通过try...except...来清除这少部分的异常数据,如下代码,这是我自己遇到的问题的想到的一个解决办法,data是我从数据库中得到的字典

当然如果数据量比较大的话,这样做效率可能不高,给大家一个参考吧

 for n, m in data.items(): #data是我从数据库中读取的城市的字典数据
  list_1 = []
  list_2 = []
  list_1.append(n)
  list_2.append(m)
  try:
   geo.add("", list_1, list_2, visual_range=[0, 3000], visual_text_color="#fff", symbol_size=15, is_visualmap=True)
  except Exception as e:
   pass

当然如果数据量比较大的话,这样做效率可能不高,给大家一个参考吧这是我的项目里一部分的数据得到的结果,我拿了7万多条数据来做的测试,感觉效果还ok

Line(折线/面积图)

from pyecharts import Line
attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 =[5, 20, 36, 10, 10, 100]v2 =[55, 60, 16, 20, 15, 80]
line =Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line.show_config()
line.render()

line =Line("折线图-面积图示例")
line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None)
line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
line.show_config()
line.render()

写在后面

因为我在用的过程中都是结合数据库批量处理的,所以就不把我写的全都放上了,这有上面地图那里第三个解决办法放了一部分我自己的代码,其他的都是网上常见的一些测试用例。

这里都是基础的介绍(我认为可能常用的一些图表),想了解更多的关于pyecharts的,就不推荐其他人的博客了,都大同小异,大家还是移步官网 http://pyecharts.org/#/zh-cn/ ,因为这是个开源的项目,pyecharts也是三个人一直在维护的,官网内容非常丰富,而且有中文版。

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

(0)

相关推荐

  • Python数据可视化之画图

    安装数据可视化模块matplotlib:pip install matplotlib 导入matplotlib模块下的pyplot 1 折线图 from matplotlib import pyplot #横坐标 year=[2010,2012,2014,2016] #纵坐标 perple=[20,40,60,100] #生成折线图:函数polt pyplot.plot(year,perple) #设置横坐标说明 pyplot.xlabel('year') #设置纵坐标说明 pyplot.yla

  • Python数据可视化编程通过Matplotlib创建散点图代码示例

    Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D方面).该项目是由JohnHunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口.如果结合PythonIDE使用比如PyCharm,matplotlib还具有诸如缩放和平移等交互功能.它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF.SVG.JPG.PNG.BMP.GIF等.此外,matp

  • 利用Python进行数据可视化常见的9种方法!超实用!

    前言 如同艺术家们用绘画让人们更贴切的感知世界,数据可视化也能让人们更直观的传递数据所要表达的信息. 我们今天就分享一下如何用 Python 简单便捷的完成数据可视化. 其实利用 Python 可视化数据并不是很麻烦,因为 Python 中有两个专用于可视化的库 matplotlib 和 seaborn 能让我们很容易的完成任务. Matplotlib:基于Python的绘图库,提供完全的 2D 支持和部分 3D 图像支持.在跨平台和互动式环境中生成高质量数据时,matplotlib 会很有帮助

  • Python数据可视化教程之Matplotlib实现各种图表实例

    前言 数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和Pyechart.本文主要讲述使用Matplotlib制作各种数据图表. Matplotlib是最流行的用于绘制2D数据图表的Python库,能够在各种平台上使用,可以绘制散点图.柱状图.饼图等. 1.柱状图 是一种以长方形或长方体的高度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹

  • python地震数据可视化详解

    本文实例为大家分享了python地震数据可视化的具体代码,供大家参考,具体内容如下 参考源码:seisplot 准备工作: 在windows10下安装python3.7,下载参考源码到本地. 1. demo绘图测试 demo绘图指令 cmd> python seisplot.py --demo 问题1)缺少依赖包 File "D:/Desktop/python可视化/seisplot/seisplot.py", line 16, in <module> import

  • Python数据可视化库seaborn的使用总结

    seaborn是python中的一个非常强大的数据可视化库,它集成了matplotlib,下图为seaborn的官网,如果遇到疑惑的地方可以到官网查看.http://seaborn.pydata.org/ 从官网的主页我们就可以看出,seaborn在数据可视化上真的非常强大. 1.首先我们还是需要先引入库,不过这次要用到的python库比较多. import numpy as np import pandas as pd import matplotlib as mpl import matpl

  • Python金融数据可视化汇总

    通过本篇内容给大家介绍一下Python实现金融数据可视化中两列数据的提取.分别画.双坐标轴.双图.两种不同的图等代码写法和思路总结. import matplotlib as mpl import numpy as np import matplotlib.pyplot as plt np.random.seed(2000) y = np.random.standard_normal((20,2)) # print(y) ''' 不同的求和 print(y.cumsum()) print(y.s

  • 举例讲解Python的Tornado框架实现数据可视化的教程

    所用拓展模块     xlrd: Python语言中,读取Excel的扩展工具.可以实现指定表单.指定单元格的读取.     使用前须安装.     下载地址:https://pypi.python.org/pypi/xlrd     解压后cd到解压目录,执行 python setup.py install 即可 datetime: Python内置用于操作日期时间的模块 拟实现功能模块 读xls文件并录入数据库 根据年.月.日三个参数获取当天的值班情况 饼状图(当天完成值班任务人数/当天未完

  • Python 数据可视化pyecharts的使用详解

    什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生成 Echarts 图表的类库.实际上就是 Echarts 与 Python 的对接. 使用 pyecharts可以生成独立的网页,也可以在 flask , Django中集成使用. pyecharts包含的图表 Bar(柱状图/条形图) Bar3D(3D 柱状图) Boxplot(箱形图) Effe

  • python数据可视化plt库实例详解

    先看下jupyter和pycharm环境的差别 左边是jupyter----------------------------------------------------------右边是pycharm 以下都是使用pycharm环境 1.一个窗口画出一个线性方程 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 从0到1,个数为11的等差数列 print(x) y = 2*x plt.plo

  • Python数据可视化图实现过程详解

    python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcParams['font.sans-serif'] = ['SimHei'] # 'mentioned0cluster', names = ['mentioned1cluster','mentioned2cluster', 'mentioned3cluster', 'mentioned4cluster'

  • pyecharts在数据可视化中的应用详解

    使用pyecharts进行数据可视化 安装 pip install pyecharts 也可以在pycharm软件里进行下载pyecharts库包. 下载成功后进行查询版本号 import pyecharts print(pyecharts.__version__) pyecharts的中文官网 可以查看pyecharts的中文官网介绍http://pyecharts.org/#/zh-cn/intro. 一般的使用方法 add() 该方法主要用于添加图表的数据和设置各种配置项. show_co

  • Python制作可视化报表的示例详解

    大家好,我是小F- 在数据展示中使用图表来分享自己的见解,是个非常常见的方法. 这也是Tableau.Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图形解释. 当然了,这些工具也有着不少缺点,比如不够灵活,无法让你自己创建设计. 当你对图表展示要求定制化时,编程也许就比较适合你,比如Echarts.D3.js. 今天小F给大家介绍一个用Python制作可视化报表的案例,主要是使用到Dash+Tailwindcss. 可视化报表效果如下,水果销售情况一览~ Das

  • python 数据的清理行为实例详解

    python 数据的清理行为实例详解 数据清洗主要是指填充缺失数据,消除噪声数据等操作,主要还是通过分析"脏数据"产生的原因和存在形式,利用现有的数据挖掘手段去清洗"脏数据",然后转化为满足数据质量要求或者是应用要求的数据. 1.try 语句还有另外一个可选的子句,它定义了无论在任何情况下都会执行的清理行为. 例如: >>>try: raiseKeyboardInterrupt finally: print('Goodbye, world!') G

  • Python数据可视化Pyecharts库实现桑葚图效果

    目录 基本思路我总结大概有三步: 1. 先申明使用sankey 2. 使用add 添加对sankey图的配置信息 3. 最后render生成html文件展示 首先介绍一下什么是桑葚图? 桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图. 它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源.材料成分.金融等数据的可视化分析. 因1898年Matthew Henry Phineas Riall Sankey绘制的"蒸汽机的能源效率图"

  • Python数据可视化Pyecharts库的使用教程

    目录 一.Pyecharts 概述 1.1 Pyecharts 特性 1.2 Pyecharts 入门案例 二.Pyecharts 配置项 2.1 全局配置项 2.2 系列配置项 三.Pyecharts 的总结 一.Pyecharts 概述 Pyechart 是一个用于生成 Echarts 图表(Echarts 是基于 Javascript 的开源可视化图表库)的 Python 第三方库. 1.1 Pyecharts 特性 根据官方文档的介绍,Pyecharts 的特性如下: 1.简洁的 API

  • Python数据可视化Pyecharts制作Heatmap热力图

    目录 HeatMap:热力图 1.基本设置 2.热力图数据项 Demo 举例 1.基础热力图 本文介绍基于 Python3 的 Pyecharts 制作 Heatmap(热力图 时需要使用的设置参数和常用模板案例,可根据实际情况对案例中的内容进行调整即可. 使用 Pyecharts 进行数据可视化时可提供直观.交互丰富.可高度个性化定制的数据可视化图表.案例中的代码内容基于 Pyecharts 1.x 版本 . HeatMap:热力图 1.基本设置 class HeatMap( # 初始化配置项

  • Python数据可视化 pyecharts实现各种统计图表过程详解

    1.pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图等统计图表. 2.柱状图 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的比较情况. 优点: 利用柱子的高度,反映数据的差异,肉眼对高度差异很敏感. 缺点: 只适用中小规模的数据集. 柱状图最基本用法 from pyechart

随机推荐