Python使用pyecharts控件绘制图表

目录
  • 一、Echarts简介
    • 1、特性
    • 2、相关资源:
  • 二、使用
    • 1、柱状图-Bar
    • 2、饼图-Pie
    • 3、箱体图-Boxplot
    • 4、折线图-Line
    • 5、雷达图-Rader
    • 6、散点图-scatter
    • 7、图表布局 Grid
    • 总结

一、Echarts简介

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

分v0.5.x 和 V1 间不兼容,导致很多代码不可复用,旧版本将不再维护。

1、特性

  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
  • 囊括了 30+ 种常见图表,应有尽有
  • 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
  • 可轻松集成至 Flask,Sanic,Django 等主流 Web 框架
  • 高度灵活的配置项,可轻松搭配出精美的图表
  • 详细的文档和示例,帮助开发者更快的上手项目
  • 多达 400+ 地图文件,并且支持原生百度地图,为地理数据可视化提供强有力的支持

2、相关资源:

二、使用

现在我们来开始正式使用pycharts,这里我们直接使用官方的数据:

1、柱状图-Bar

//导入柱状图-Bar
from pyecharts import Bar
//设置行名
columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
//设置数据
data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
data2 = [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 = Bar("柱状图", "一年的降水量与蒸发量")
//添加柱状图的数据及配置项
bar.add("降水量", columns, data1, mark_line=["average"], mark_point=["max", "min"])
bar.add("蒸发量", columns, data2, mark_line=["average"], mark_point=["max", "min"])
//生成本地文件(默认为.html文件)
bar.render()

简单的几行代码就可以将数据进行非常好看的可视化,而且还是动态的,在这里还是要安利一下jupyter,pyecharts在v0.1.9.2版本开始,在jupyter上直接调用实例(例如上方直接调用bar)就可以将图表直接表示出来,非常方便。

笔者数了数,目前pyecharts上的图表大概支持到二十多种,接下来,我们再用上方的数据来生成几个数据挖掘常用的图表示例:

2、饼图-Pie

//导入饼图Pie
from pyecharts import Pie
//设置主标题与副标题,标题设置居中,设置宽度为900
pie = Pie("饼状图", "一年的降水量与蒸发量",title_pos='center',width=900)
//加入数据,设置坐标位置为【25,50】,上方的colums选项取消显示
pie.add("降水量", columns, data1 ,center=[25,50],is_legend_show=False)
//加入数据,设置坐标位置为【75,50】,上方的colums选项取消显示,显示label标签
pie.add("蒸发量", columns, data2 ,center=[75,50],is_legend_show=False,is_label_show=True)
//保存图表
pie.render()

3、箱体图-Boxplot

//导入箱型图Boxplot
from pyecharts import Boxplot
boxplot = Boxplot("箱形图", "一年的降水量与蒸发量")
x_axis = ['降水量','蒸发量']
y_axis = [data1,data2]
//prepare_data方法可以将数据转为嵌套的 [min, Q1, median (or Q2), Q3, max]
yaxis = boxplot.prepare_data(y_axis)
boxplot.add("天气统计", x_axis, _yaxis)
boxplot.render()

4、折线图-Line

from pyecharts import Line
line = Line("折线图","一年的降水量与蒸发量")
//is_label_show是设置上方数据是否显示
line.add("降水量", columns, data1, is_label_show=True)
line.add("蒸发量", columns, data2, is_label_show=True)
line.render()

5、雷达图-Rader

from pyecharts import Radar
radar = Radar("雷达图", "一年的降水量与蒸发量")
//由于雷达图传入的数据得为多维数据,所以这里需要做一下处理
radar_data1 = [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]
radar_data2 = [[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]]
//设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同
schema = [
("Jan", 5), ("Feb",10), ("Mar", 10),
("Apr", 50), ("May", 50), ("Jun", 200),
("Jul", 200), ("Aug", 200), ("Sep", 50),
("Oct", 50), ("Nov", 10), ("Dec", 5)
]
//传入坐标
radar.config(schema)
radar.add("降水量",radar_data1)
//一般默认为同一种颜色,这里为了便于区分,需要设置item的颜色
radar.add("蒸发量",radar_data2,item_color="#1C86EE")
radar.render()

6、散点图-scatter

from pyecharts import Scatter
scatter = Scatter("散点图", "一年的降水量与蒸发量")
//xais_name是设置横坐标名称,这里由于显示问题,还需要将y轴名称与y轴的距离进行设置
scatter.add("降水量与蒸发量的散点分布", data1,data2,xaxis_name="降水量",yaxis_name="蒸发量",
 yaxis_name_gap=40)
scatter.render()

7、图表布局 Grid

由于标题与图表是属于两个不同的控件,所以这里必须对下方的图表Line进行标题位置设置,否则会出现标题重叠的bug。

from pyecharts import Grid
//设置折线图标题位置
line = Line("折线图","一年的降水量与蒸发量",title_top="45%")
line.add("降水量", columns, data1, is_label_show=True)
line.add("蒸发量", columns, data2, is_label_show=True)
grid = Grid()
//设置两个图表的相对位置
grid.add(bar, grid_bottom="60%")
grid.add(line, grid_top="60%")
grid.render()
from pyecharts import Overlap
overlap = Overlap()
bar = Bar("柱状图-折线图合并", "一年的降水量与蒸发量")
bar.add("降水量", columns, data1, mark_point=["max", "min"])
bar.add("蒸发量", columns, data2, mark_point=["max", "min"])
overlap.add(bar)
overlap.add(line)
overlap.render()

总结

  • 导入相关图表包
  • 进行图表的基础设置,创建图表对象
  • 利用add()方法进行数据输入与图表设置(可以使用print_echarts_options()来输出所有可配置项)
  • 利用render()方法来进行图表保存

pyecharts还有许多好玩的3D图表和地图图表,个人觉得地图图表是最好玩的,各位有兴趣可以去pyecharts的使用手册查看,有中文版的非常方便。

到此这篇关于Python使用pyecharts控件绘制图表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python数据可视化之Pyecharts使用详解

    目录 1. 安装Pyecharts 2. 图表基础 2.1 主题风格 2.2 图表标题 2.3 图例 2.4 提示框 2.5 视觉映射 2.6 工具箱 2.7 区域缩放 3. 柱状图 Bar模块 4. 折线图/面积图 Line模块 4.1 折线图 4.2 面积图 5.饼形图 5.1 饼形图 5.2 南丁格尔玫瑰图 6. 箱线图 Boxplot模块 7. 涟漪特效散点图 EffectScatter模块 8. 词云图 WordCloud模块 9. 热力图 HeatMap模块 10. 水球图 Liqu

  • Python Pyecharts绘制桑基图分析用户行为路径

    目录 读取数据 生成节点数据 组织数据:定义节点和流量 数据可视化 桑基图,它的核心是对不同点之间,通过线来连接.线的粗细代表流量的大小.很多工具都能实现桑基 图,比如:Excel.tableau,我们今天要用 Pyecharts 来绘制. 因为没有用户行为路径相关的公开数据,所以本次实现可视化是根据泰坦尼克号,其生存与遇难的人的 数据,来分析流向路径.学会思路,你也可以换成自己公司的用户行为埋点数据. 读取数据 数据来源:https://www.kaggle.com/c/titanic fro

  • Python pyecharts绘制条形图详解

    目录 一.简介 二.整理数据 1.配置主题 2.柱状图 Bar - Bar_base_dict_config 3.样例数据 Faker.choose() 4.滚动条 Bar - Bar_datazoom_slider 5.鼠标移动效果 Bar - Bar_datazoom_inside 6.显示最值 Bar - Bar_markpoint_type 7.改变滚动条在侧面 Bar - Bar_datazoom_slider_vertical 8.多个Y轴 9.直方图 Bar - Bar_histo

  • Python pyecharts数据可视化实例详解

    目录 一.数据可视化 1.pyecharts介绍 2.初入了解 (1).快速上手 (2).简单的配置项介绍 3.案例实战 (1).柱状图Bar (2).地图Map (3).饼图Pie (4).折线图Line (5).组合图表 二.案例数据获取 总结 一.数据可视化 1.pyecharts介绍 官方网址:https://pyecharts.org/#/zh-cn/intro 概况: Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,使用JavaScript实现的.

  • Python Pyecharts绘制箱线图详解

    本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:>>Boxplot import seaborn as sns import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签 p

  • Python Pyecharts绘制象形柱图

    目录 1.准备工作 1.1 导入模块 1.2 部分参数 2.基础象形图 3.自定义图例 3.1 图片图例 3.2 生成象形图 在可视化展示过程中,为了达到更形象的展示效果,我们往往需要自定义一些直观的图例,本期给大家介绍可视化库Pyecharts中的象形柱图,希望对你有所帮助. 1.准备工作 1.1 导入模块 from pyecharts import options as opts from pyecharts.charts import PictorialBar from pyecharts

  • Python pyecharts绘制折线图详解

    一.绘制折线图 import seaborn as sns import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False

  • python用pyecharts画地图实例介绍

    版本pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本 v0.5.X支持 Python2.7,3.4+v1仅支持 Python3.6+ 本文使用的是v1详见官方文档 数据来源只是学习方法,数据来源于网络查找 中国地图 from pyecharts.charts import Map import pyecharts.options as opts import os # 中国地图 province_distribution =

  • Python使用pyecharts控件绘制图表

    目录 一.Echarts简介 1.特性 2.相关资源: 二.使用 1.柱状图-Bar 2.饼图-Pie 3.箱体图-Boxplot 4.折线图-Line 5.雷达图-Rader 6.散点图-scatter 7.图表布局 Grid 总结 一.Echarts简介 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而 Python 是一门富有表达力的语言,很适合用于数据处理.当数据分析遇上数据可视化时,pyecharts 诞生了. 分v0.5.x

  • Python Tkinter对话框控件使用详解

    目录 文件选择对话框 颜色选择对话框 消息对话框 除了基本的控件之外,Tkinter 还提供了三种对话框控件: 文件选择对话框:filedailog 颜色选择对话框:colorchooser 消息对话框:messagebox 这些对话框的使用能够在一定程度上增强用户的交互体验,下面对这些对话框控件进行详细地介绍. 文件选择对话框 文件对话框在 GUI 程序中经常的使用到,比如上传文档需要从本地选择一个文件,包括文件的打开和保存功能都需要一个文件对话框来实现.Tkinter 提供文件对话框被封装在

  • C#使用DevExpress中的XtraCharts控件实现图表

    目录 一.总体概述 二.chartControl层\XYDiagram层 1.当坐标轴的数据类型是数字时 2. 当前数据类型是字符串时 3.当前数据类型是时间 三.实例 1.饼状图 1.1.添加ChartControl控件 1.2.准备数据 1.3.根据数据创建饼状图 1.4.设置饼状Series显示方式(值/百分比) 2.柱状图 2.1.添加ChartControl控件 2.2.准备数据 2.3.根据数据创建柱状图 2.4.用到的方法 四.事件 1.CustomDrawAxisLabel :

  • Python Tkinter基础控件用法

    本文实例展示了Python Tkinter基础控件的用法,分享给大家供大家参考之用.具体方法如下: # -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get() print 'btn Click and Entry value is %s' % evalue def btn_click_bind(event): print 'enter b2' def

  • Python中Qslider控件实操详解

    在学习一些pyqt5的内容后,我们对于其中的组件也有所接触.本篇所要带来的是Qslider控件,也可以说是python中比较常见的控件了.在一些具体的使用和方向等相关的操作上,很多人是没有全面的进行过系统学习的.下面我们就这些操作逐个为大家带来介绍,一起来看下Qslider控件的使用吧. 1.控件介绍和使用 qslider解释为滑块控件,用于方便左右滑动. 往往这类滑动更多用于屏幕可以触碰的设备. 我们想要使用滑块控件,本质上实则就是调用Qslider类. 使用的时候,首先对qslider这个类

  • Python tkinter分隔控件(Seperator)的使用

    分隔控件的作用就是把控件分隔为几个部分.分隔控件有2两种:水平(HORIZONTAL )或者垂直(VERTICAL ).如果是使用grid布局管理器,需要使用sticky来拉伸分隔控件,否则可能只是窄窄的一条线.如果是使用pack布局管理器,使用使用fill来拉伸控件. 分隔控件的属性有: (1)class_ 分隔控件的名字. (2)Orient 分隔控件的方向.有水平和垂直两个方向. import tkinter as tk from tkinter import ttk root = tk.

  • Python Tkinter Menu控件使用详解

    目录 创建主目录菜单 创建下拉菜单 创建弹出菜单栏 菜单按钮控件 Menu 控件(菜单控件)可以说是 GUI 中“精髓所在”,它以可视化的方式将一系列的命令进行分组,在每一个分组下又可以“隐藏”许多的程序执行命令(即功能).当打开菜单时,这些命令就会“显式”的呈现出来,方便用户进行选择,比如 Windows 系统中记事本文件(.txt文件类型)的界面: 图1:Menu菜单界面 通过使用菜单控件(Menu)可以充分地节省有限的窗口区域,让我们的界面更加简洁优雅,避免臃肿.混乱. Tkinter M

  • Android树形控件绘制方法

    前言 作为一个开发者,日常会接触到很多优秀的软件,其实,或多或少会有这样的想法,我能不能开发一个自己软件,甚至办公软件都希望是Markdown的文本,为何用office?我常常想自己做一个IDE什么的.但是,很多只是想了一下就过了,一直没有实现. 我接触思维导图软件已经很久的了,开始是使用微软的思维导图软件,接着XMind,后来使用了MindMaple Lite.感觉很好用的.也想过如何去实现一个思维导图的软件,加之我特别注意软件的快捷键,我选取软件常常是,看快捷如何,快捷键差的就不要了.基于自

  • python tkinter Entry控件的焦点移动操作

    话不多说. 代码片: # -*- coding: utf8 -*- from tkinter import * ##################################### ###--------------tk---------------- class App: def __init__(self,master): frame = Frame(master) frame.pack(expand=1) self.e1 = Entry(frame) self.e1.pack() s

  • 关于Python Tkinter Button控件command传参问题的解决方式

    环境:Ubuntu14.Python3.4.Pycharm2018 一.使用command=lambda: 的形式传参 代码如下 from tkinter import * import tkinter.messagebox as messagebox def createpage(master): master = Frame(root) master.pack() Label(master, text='num1').grid(row=0, column=0, stick=W, pady=1

随机推荐