Pyecharts是由Echarts而来,Echarts是百度开源的数据可视化的库,适合用来做图表设计开发,当使用Python与Echarts结合时就产生了Pyecharts。可使用pip安装,默认是最新版本的Pyecharts,查看安装的版本号可以使用pycharts.__version__查看。

安装###

现在安装的v1版本与以前的0.5版本是不兼容的,使用方法上存在较大的差异,并且v0.5版本对Python的支持在Python2.7和3.4+的版本上,v1版本支持最新的Python版本。所以网上的很多关于Pyecharts的代码在新版本上并不适用,安装命令:pin install pyecharts

链式调用###

可以使用链式调用的方法来创建一个图表

from pyecharts.charts import Bar
from pyecharts import options as opts
bar= (
Bar()
.add_xaxis(["裤子", "高跟鞋", "袜子"])
.add_yaxis(["销售额"],[300,509,300])
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题")) )
bar.render()

上述代码中我们可以加入主题:

from pyecharts.globals import ThemeType

Bar(init_opts.IninOpts(theme=ThemeType.LTGHT))

图形绘制###

日历图####

Calendar可以用来显示日历图,timedelta用来设置日期间的间隔。具体代码如下

import datetime
import random
from pyecharts import options as opts
from pyecharts.charts import Calendar
def calendar_base() -> Calendar:
begin = datetime.date(2018, 1, 1) #设置起始日期
end = datetime.date(2019, 12, 31) #设置终止日期
data =[
[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)] #设置日期间隔,步数范围
for i in range((end - begin).days + 1)
]
c = (
Calendar()
.add('', data, calendar_opts=opts.CalendarOpts(range_='2019')) #添加到日历图,指定显示2019年数据 .set_global_opts( #设置底部显示条,解释数据
title_opts=opts.TitleOpts(title='2019年微信步数的情况',subtitle='From Weix'),
visualmap_opts=opts.VisualMapOpts(
max_=20000,
min_=500,
orient='vertical', #设置垂直显示
pos_top='230px',
pos_left='100px',
is_piecewise=True #是否连续
) )
)
return c.render('charts1.html')
calendar_base()

运行结果:

漏斗图####

使用Funnel创建一个漏斗图

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Funnel, Page def funnel_base() -> Funnel:
c = (
Funnel()
.add("商品", [list(z) for z in zip(Faker.choose(), Faker.values())], label_opts=opts.LabelOpts(position="inside"))
.set_global_opts(title_opts=opts.TitleOpts(title="Funnel-基本示例"))
)
return c.render('charts2.html')
funnel_base()

运行结果:

这里使用的Faker,它是python的一个第三方模块,主要用来创建一些测试用的随机数据。

Faken使用文档地址:https://faker.readthedocs.io/en/master/index.html

轮盘####

from pyecharts import options as opts
from pyecharts.charts import Gauge, Page def gauge_label_title_setting() -> Gauge:
c = (
Gauge()
.add(
"",
[("完成率", 66.6)],
title_label_opts=opts.LabelOpts(
font_size=30, color="blue", font_family="Microsoft YaHei"
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="轮盘显示"))
)
return c.render('charts3.html')
gauge_label_title_setting()

运行结果:

节点图####

import json
import os
from pyecharts import options as opts
from pyecharts.charts import Graph, Page def graph_base() -> Graph:
nodes = [
{'name': '天王星', 'symbolSize': 30},
{'name': '金星', 'symbolSize': 20},
{'name': '木星', 'symbolSize': 60},
{'name': '水星', 'symbolSize': 40},
{'name': '月球', 'symbolSize': 10},
{'name': '地球', 'symbolSize': 20} ]
links = []
for i in nodes:
for j in nodes:
links.append({'source': i.get('name'), 'target': j.get('name')}) c = (
Graph()
.add('', nodes, links, repulsion=8000)
.set_global_opts(title_opts=opts.TitleOpts(title='节点图'))
)
return c.render('charts4.html')
graph_base()

运行结果:



其中也可以设置固定点的连接,修改代码如下:

        opts.GraphLink(source="结点1", target="结点2"),
opts.GraphLink(source="结点2", target="结点3"),
opts.GraphLink(source="结点3", target="结点4"),
opts.GraphLink(source="结点4", target="结点5"),
opts.GraphLink(source="结点5", target="结点1"),

水球图####

from pyecharts import options as opts
from pyecharts.charts import Liquid, Page
from pyecharts.globals import SymbolType def liquid_base() -> Liquid:
c = (
Liquid()
.add("lq", [0.6, 0.7])
.set_global_opts(title_opts=opts.TitleOpts(title="Liquid-基本示例"))
)
return c.render('charts5.html')
liquid_base()

运行结果:



波浪颜色。

color: Optional[Sequence[str]] = None

是否显示波浪动画。

is_animation: bool = True

是否显示边框。

is_outline_show: bool = True

饼状图####

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Pie def pie_base() -> Pie:
c = (
Pie()
.add("", [list(z) for z in zip(Faker.choose(), Faker.values())])
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"),
legend_opts=opts.LegendOpts(
type_="scroll", pos_left="80%", orient="vertical"
)
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
return c.render('charts6.html')
pie_base()

运行结果:

最新Pyecharts-基本图表的更多相关文章

  1. pyEcharts安装及使用指南(最新)

    pyEcharts安装及使用指南(最新): 网上资料大多数是0.5X的版本, 这里我给出我的0.5版本连接https://www.cnblogs.com/dgwblog/p/11811562.html ...

  2. Python:数据可视化pyecharts的使用

    什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生 ...

  3. 【PyQt5-Qt Designer】PyQt5+pyecharts 实现GUI界面的数据可视化展示

    先用纯Python代码写一个简单的小案例: from PyQt5.QtCore import QUrl from PyQt5.QtWidgets import QApplication,QWidget ...

  4. 【数据可视化-pyecharts】pyecharts快速入门

    pyecharts快速开始 首先开始来绘制你的第一个图表 from pyecharts import Bar bar = Bar("我的第一个图表", "这里是副标题&q ...

  5. Windows下Python安装pyecharts

    都说pyechart用来可视化好,可是安装的时候各种坑 正常情况是 pip install pyecharts 然后各种报错,找到一种可行的方式 在https://pypi.org/project/p ...

  6. pyecharts和echarts的混合使用

    ECharts是一个由百度开发的纯 Javascript 的图表库,pyecharts是某三位大佬将ECharts移植到Python项目中的产物,在Python网站中可以更轻松的接入图表,但是个人感觉 ...

  7. 【Python可视化】超详细Pyecharts 1.x教程,让你的图表动起来~

    前言 pyecharts 是一个用于生成 Echarts 图表的Python库.Echarts是百度开源的一个数据可视化 JS 库,可以生成一些非常酷炫的图表. Pyecharts在1.x版本之后迎来 ...

  8. 小白学 Python 数据分析(20):pyecharts 概述

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  9. ubuntu上pyecharts V1版本环境搭建

    1 背景 今天想用pyecharts画图,在新的环境下使用pip安装之后发现,导入pyecharts模块一直失败,报错如下. 图 1 导入pyecharts错误图 请注意:我这里使用的python版本 ...

随机推荐

  1. 2019牛客多校第二场 A Eddy Walker(概率推公式)

    2019牛客多校第二场 A Eddy Walker(概率推公式) 传送门:https://ac.nowcoder.com/acm/contest/882/A 题意: 给你一个长度为n的环,标号从0~n ...

  2. Windows 服务安装与卸载 (通过 installutil.exe)

    1. 安装 安装 .NET Framework ; 新建文本文件,重命名为 ServiceInstall.bat,将 ServiceInstall.bat 的内容替换为: C:\\Windows\\M ...

  3. python scrapy爬取前程无忧招聘信息

    使用scrapy框架之前,使用以下命令下载库: pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple 1.创建项目文件夹 scr ...

  4. 使用 AT 指令进行 Socket 通信

    BC26 支持使用 Socket 进行 TCP 和 UDP 协议通信,这两个协议也是 BC26 支持的众多通信协议的基础.本文讲解如何使用这两个协议与服务器端进行通信.在学习这篇文章前,请首先使用AT ...

  5. 换根DP(二次扫描)

    参考来自这里: https://blog.csdn.net/qq_41286356/article/details/94554729 题目在这里 https://ac.nowcoder.com/acm ...

  6. $Loj10155$ 数字转换(求树的最长链) 树形$DP$

    loj Description 如果一个数x的/约数和/y(不包括他本身)比他本身小,那么x可以变成y,y 也可以变成x.限定所有数字变换在不超过n的正整数范围内进行,求不断进行数字变换且不出现重复数 ...

  7. npm install 不更改 package-lock.json 文件的解决方法

    package-lock.json 文件是版本锁定文件 package-lock.json 是在 `npm install` 时候生成的一份文件,用以记录当前状态下实际安装的各个 npm packag ...

  8. Linux 踩坑记

    # Linux docker内部执行apt-get install 报错 在某个项目中使用docker构建mysql容器后想要在容器中修改mysql的配置文件,使用vim后提示 bash: vim: ...

  9. 2019HDU多校第四场题解

    1001.AND Minimum Spanning Tree 传送门:HDU6614 题意:给你一个又n个点的完全图,点编号从1~n,每条边的权值为被连接的两点编号按位与后的值.现在要你找到最小生成树 ...

  10. Oozie任务调度框架详解及使用简介(一)

    摘要:个人最近一段时间一直在使用oozie,从刚开始的各种别扭到现在越来越觉得有意思的情况下,想整理一下关于oozie的认知,整理出来一个oozie系列,本来市面上关于oozie的资料就比较少,希望写 ...