使用pyecharts1.7进行简单的可视化大全
作者:theskylife 发布时间:2022-02-13 05:02:33
标签:pyecharts,可视化
近期,又有接触到pyecharts这个包的使用,后面发现这个曾经好用的包发生了一些变化,为了方便大家的使用,这里整理如下:
绘图风格theme:默认WHITE
LIGHT, DARK, WHITE, CHALK, ESSOS, INFOGRAPHIC, MACARONS, PURPLE_PASSION, ROMA, ROMANTIC, SHINE, VINTAGE, WALDEN, WESTEROS, WONDERLAND
1.柱状图绘制
1.1 最基础的柱状图
from pyecharts.charts import Bar,Grid
from pyecharts import options as opts
from pyecharts.globals import ThemeType
import random
import numpy as np
# 准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
#绘图
bar=Bar(init_opts = opts.InitOpts(width='600px',height='400px'))
bar.add_xaxis(name)
bar.add_yaxis("salery",salery)
bar.set_global_opts(title_opts=opts.TitleOpts(title="收入情况"))
#仅在notebook中显示
bar.render_notebook()
#在HTML中显示
bar.render("收入情况")
效果图:
1.2 稍微复杂的柱状图
为了减少代码量,此处不再导入包。绘制收入和消费情况,并使用新风格,并添加副标题,使用新版本的链式写法。
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.LIGHT))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("cost",cost)
.set_global_opts(title_opts=opts.TitleOpts(title="收入及消费情况",subtitle="随机样本"))
)
bar.render_notebook()
#效果图:
1.3 堆叠式柱状图
使用堆叠式柱状图(部分堆叠),并自定义颜色,修改图例的显示位置,不显示数字,改变背景颜色
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery,stack="stack_one")
.add_yaxis("cost",cost,stack="stack_one")
.add_yaxis("salery_ave",salery_ave)
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical")
)
)
bar.render_notebook()
效果展示:
1.3.1 调整标题与图的位置
grid=Grid()
# 分别调整上下左右的位置,参数为像素值或百分比
grid.add(bar,grid_opts=opts.GridOpts(pos_top="30%",pos_bottom="10%",pos_left="10%",pos_right="10%"))
grid.render_notebook()
效果演示
1.4 绘制簇状图
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("salery_ave",salery_ave)
.reversal_axis()
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical")
)
)
bar.render_notebook()
效果图演示
1.5 数据量大时的显示方法
#准备数据
name=[chr(i) for i in range(65,85,1)]
salery=[random.randint(3000,5000) for i in range(20)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(20)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#绘图 修改 orient为vertical,可将滑动按钮移动垂直方向
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("salery_ave",salery_ave)
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical"),
datazoom_opts=[opts.DataZoomOpts(type_="slider")]
)
)
bar.render_notebook()
演示效果:
2.绘制散点图
2.1 普通散点图
import random
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.globals import ThemeType
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
scatter=(Scatter(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.DARK))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("cost",cost)
.set_global_opts(title_opts=opts.TitleOpts(title="收入与消费情况")))
scatter.render_notebook()
查看效果:
2.2 3D散点图绘制
import random
from pyecharts import options as opts
from pyecharts.charts import Scatter3D
from pyecharts.faker import Faker
#准备数据
data = [(random.randint(0,100),random.randint(0,100),random.randint(0,100)) for i in range(50)]
name=["长","宽","高"]
#绘图
scatter3D=Scatter3D(init_opts = opts.InitOpts(width='600px',height='400px')) #初始化
scatter3D.add(name,data,
grid3d_opts=opts.Grid3DOpts(
width=100, depth=100
))
scatter3D.set_global_opts(title_opts=opts.TitleOpts(title="散点图"),
visualmap_opts=opts.VisualMapOpts(
range_color=Faker.visual_color #颜色映射
))
scatter3D.render_notebook()
效果图:
2.3 带涟漪的散点图
symbol的类型:
“pin”,“rect”,“roundRect”,“diamond”,“arrow”,“triangle”
import random
from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.globals import ThemeType
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
scatter=(EffectScatter(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.DARK))
.add_xaxis(name)
.add_yaxis("salery",salery,symbol="pin",symbol_size=20,symbol_rotate=180)
.add_yaxis("cost",cost,symbol="rect",symbol_size=20)
.set_global_opts(title_opts=opts.TitleOpts(title="收入与消费情况"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)), #添加网格
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True))
)
.set_series_opts(effect_opts=opts.EffectOpts(scale=3,period=2)) #调整涟漪的范围和周期
)
scatter.render_notebook()
效果图如下:
来源:https://blog.csdn.net/qq_41780234/article/details/106136377
0
投稿
猜你喜欢
- 追本溯源,从使用开始首先看一下我们通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务,这里通过JWT的认证方式
- 本文实例为大家分享了python实现人民币转大写人民币的具体代码,供大家参考,具体内容如下直接上代码:# -*- coding: utf-8
- Python中打开文本使用的是with语句,比如打开一个文件并读取每一行with open(filename) as fp: f
- 本文实例讲述了JavaScript点击按钮后弹出透明浮动层的方法。分享给大家供大家参考。具体分析如下:这里实现点击后页面变灰色,并用JS弹出
- 本文实例主要实现给出任意字符串,获取字符串中某字符的位置以及出现的总次数。实现该功能代码的时候可以使用函数enumerate来将字符串分离成
- 每点击一次按钮,弹出一个对话框(子窗口),同时开启一个子线程来执行任务并更新对话框内容,关闭对话框则关闭对应子线程1. 建立一个简单的主界面
- 1、在模块中,我们需要判断__name__是否被赋值为“__main__”。python fibo.py <arguments>
- 如果你是pytorch的用户,可能你会很熟悉pytorch生态圈中专门预处理图像数据集的torchvision库。从torchtext这个名
- 特点:不需要另外加个清除DIV:after(伪对象)--设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏
- 本文是利用python 复制文件夹 刚开始写了一个普通的递归复制文件夹 然后想了想 觉得对io频繁的程序 thre
- 一、协程介绍协程:英文名Coroutine,是单线程下的并发,又称微线程,纤程。协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度
- 目录前置知识有哪些可变对象,哪些不可变对象?不可变对象和可变对象的区别?不可变对象的应用场景从内存角度出发说下有什么区别?不可变对象可变对象
- 今天在做python获取邮件时需要递归调用解析函数才可以解析邮件内容,最后想要将解析出的内容返回时发现返回的是None 可以内容却可以打印出
- 每天不同时间段通过微信发消息提醒女友简介有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时
- collections是实现了特定目标的容器,以提供Python标准内建容器 dict , list , set , 和 tuple 的替代
- asp网站程序在国内运用很广,但是类似于im286.asp?id=20050307213811这样的url有点不利于搜索引擎的收录,也就是说
- 突如其来想知道一下 python 如何修改文件的属性(创建、修改、访问时间),于是就去网上搜集了可行方案,也就有了这篇博客方案一from w
- 一组常用的弹出窗口用法,以下代码集合常用的弹出窗口用法。1、最基本的弹出窗口代码<SCRIPT LANGUAGE="
- 本文实例讲述了Python排序搜索基本算法之选择排序。分享给大家供大家参考,具体如下:选择排序就是第n次把序列中最小的元素排在第n的位置上,
- 最新的CentOS8已经内置了Python2和Python3,出入Python2和Python3两个命令可以分别进入Python2和Pyth