pyecharts的一些简单实践应用
目录
2.将男生和女生通过gropby(by=[])方法分组聚合拿到我们制成图形的数据
3.将数据类型转换成我们需要的list对象,然后把数据赋值以方便后面使用
init_opts=opts.InitOpts(width='600px',height='400px')初始化图形的大小
.set_global_opts中的title_opts=opts.TitleOpts配置项可设置整个图形的标题与副标题
3.最后通过销售总数进行各身份色阶的变化制作图形与配置项的介绍
⊙▽⊙图片不能给你们看,运行一个就可以看到啦(才不是图片违规了呢)
2.这里我所使用的数据的“日期”序列是时间对象序列,时间对象数据无法在pyecharts的坐标轴数据中使用,需要转化为字符串或者数字对象
3.所以我们做一点简单的处理转化为字符串提取我们需要的片段就可以开始画图了
.add_xaxis(xaxis_data=rq)将我们刚刚转换的字符串设置为x轴
itemstyle_opts=opts.ItemStyleOpts设置点的样式
linestyle_opts=opts.LineStyleOpts设置线条的样式
data表示系列数据,格式[a,b,c,...],有多个数字时,数字标签显示的是a,其他数字以波浪形式呈现。
shape可以设置水滴图形状,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可选
is_outline_show = True,是否显示边框(否为False)
label_opts = opts.LabelOpts()可设置标签的样式
1.官方文档包含pyecharts中各个功能和图形的介绍和代码参数解析。
前言:
本文是分享一下自己学习数据可视化关于pyecharts的几个应用实例实践过程,我是数据可视化的萌新,如果出了什么问题,请各位多多担待,有什么关于这类案例需要什么补充的也可以多多留言喔(才不是不懂呢o(´^`)o),谢谢观看!ヾ(≧∇≦谢谢≧∇≦)ノ
一.多重柱形图
1.首先将我们所需要的包导入一下,数据读取出来
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
data_user = pd.read_excel(r'新用户表.xlsx')
data_user
2.将男生和女生通过gropby(by=[])方法分组聚合拿到我们制成图形的数据
result = data_user.groupby(by=['性别','城市'])['姓名'].count()
result_man = result['男']
result_woman = result['女']
3.将数据类型转换成我们需要的list对象,然后把数据赋值以方便后面使用
x = [i for i in result_man.index] # 转换成list对象
y1 = result_man.tolist()
y2 = result_woman.tolist()
4.最后画图与配置项的介绍
init_opts=opts.InitOpts(width='600px',height='400px')初始化图形的大小
color可调整柱形的颜色
gap为柱子之间的间隔
.set_global_opts中的title_opts=opts.TitleOpts配置项可设置整个图形的标题与副标题
bar = (
Bar(
init_opts=opts.InitOpts(width='600px',height='400px') # 初始化配置项
)
.add_xaxis(x)
.add_yaxis("男",y1,color = 'pink')
.add_yaxis("女", # 图示名称
y2, # 数据
color = 'skyblue',
gap='0%' # 柱子之间的间隔
)
# .set_colors([ "#00ff00", "#ffcc00"]) # 另一种颜色设置方法
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例",
subtitle="我是副标题"
)
)
)
bar.render_notebook()
=v=最后的效果为:
二.色阶图
1.首先还是将我们所需要的包导入一下,数据读取出来
from pyecharts import options as opts
from pyecharts.charts import Map
import pandas as pd
data = pd.read_excel(r'各省份车辆销售数量(1).xlsx')
data
2.然后将我们需要的数据拿出来打包一下
x = data['省份2']
y = data['销售总数']
da = [list(z) for z in zip(x, y)]
3.最后通过销售总数进行各身份色阶的变化制作图形与配置项的介绍
.set_global_opts中的title_opts=opts.TitleOpts配置项可设置整个图形的标题与副标题
.set_global_opts中的visualmap_opts=opts.VisualMapOpts可设置关于色阶图的配置
其中range_color为色阶的颜色递增递减
max_=?为色阶配置项,用颜色表示数据大小
c = (
Map()
.add("", da , "china")
.set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"),
visualmap_opts=opts.VisualMapOpts(
range_color = ['yellow','red'],
max_ = 1000
), # 色阶配置项,用颜色表示数字大小
)
)
c.render_notebook()
⊙▽⊙图片不能给你们看,运行一个就可以看到啦(才不是图片违规了呢)
三.二维折线图
1.首先将我们的需要制成图形的数据读取进来
import pandas as pd
data = pd.read_excel(r'折线图作业数据-商品销量(1).xlsx')
2.这里我所使用的数据的“日期”序列是时间对象序列,时间对象数据无法在pyecharts的坐标轴数据中使用,需要转化为字符串或者数字对象
rq = data['日期'].agg(lambda x:str(x)[5:10]).tolist()
查看一下转化的效果
3.所以我们做一点简单的处理转化为字符串提取我们需要的片段就可以开始画图了
配置项的介绍:
.add_xaxis(xaxis_data=rq)将我们刚刚转换的字符串设置为x轴
series_name为线和点的名称
itemstyle_opts=opts.ItemStyleOpts设置点的样式
linestyle_opts=opts.LineStyleOpts设置线条的样式
import pyecharts.options as opts
from pyecharts.charts import Line
c = (
Line()
.add_xaxis(xaxis_data=rq)
.add_yaxis(
series_name='牛奶',
y_axis=data['牛奶'],
symbol="triangle",
itemstyle_opts=opts.ItemStyleOpts(border_width=3, border_color="red", color="pink"), # 设置点的样式
linestyle_opts=opts.LineStyleOpts(color="green", width=5, type_="solid"), # 设置线条的样式
label_opts=opts.LabelOpts(is_show=True),
is_smooth = True,
)
.add_yaxis(
series_name='面包',
y_axis=data['面包'],
symbol="triangle",
itemstyle_opts=opts.ItemStyleOpts(border_width=3, border_color="red", color="blue"), # 设置点的样式
linestyle_opts=opts.LineStyleOpts(color="pink", width=5, type_="solid"), # 设置线条的样式
label_opts=opts.LabelOpts(is_show=True),
is_smooth = True,
)
)
c.render_notebook()
♡>𖥦<)!!最后的效果图为:
如果觉得图比较丑可以通过点和线的样式和颜色 来对图进行美化
四.水球图
配置项解释:
data表示系列数据,格式[a,b,c,...],有多个数字时,数字标签显示的是a,其他数字以波浪形式呈现。
shape可以设置水滴图形状,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可选
color设置波浪的颜色
background_color设置背景颜色
is_outline_show = True,是否显示边框(否为False)
label_opts = opts.LabelOpts()可设置标签的样式
画图:
from pyecharts import options as opts
from pyecharts.charts import Liquid
c = (
Liquid()
.add("", # 系列名称
data = [0.5], # 系列数据,格式[a,b,c,...],有多个数字时,数字标签显示的是a,其他数字以波浪形式呈现。
shape = 'circle', # 水滴图形状,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可选
color = ['skyblue'], # 波浪颜色,和data数据个数对应
background_color = 'green', # 背景颜色
is_outline_show = True, # 是否显示边框
label_opts = opts.LabelOpts(font_size=50, position="inside") # 标签样式
)
.set_global_opts(title_opts=opts.TitleOpts(title="水球图demo",
title_link = 'https://gallery.pyecharts.org/#/Liquid/liquid_base', # 标题跳转url连接
pos_left = '43%',
pos_top = '15%',
)
)
)
c.render_notebook()
(ノ≧∇≦)ノ最后的效果为:
五.官方文档与社区
1.官方文档包含pyecharts中各个功能和图形的介绍和代码参数解析。
以下是官方文档的链接:
pyecharts - A Python Echarts Plotting Library built with love.
2.社区包含各种图形demo的项目案例代码和演示。
以下是社区的链接: