2020-07-12 01:39:12 登录注册 RSS

当前位置: 公理网 >> 曝光信息 >> 利用pyecharts制作精美的可视化图表

利用pyecharts制作精美的可视化图表
发布时间:06-30| 来源:公理网 | 点击发表评论

利用pyecharts制作精美的可视化图表


目录利用pyecharts制作精美的可视化图表1、安装(1)版本问题(2)如何查看自己当前安装的版本(3)安装方法2、可视化(1)效果(2)实现思路(3)地图绘制(4)饼图绘制(5)柱状图绘制(6)拼接起来并且用timeline组合


1、安装
(1)版本问题

现在网上大部分pyecharts的教程都是pyecharts改版之前的也就是v0.5.x版本的


pyecharts分为v0.5.x和v1.x两个版本,而新版本是不向下兼容的,通俗来讲就是在v1.x中跑之前版本的代码会报错

2020062809193269.jpg"alt="在这里插入图片描述">

(2)如何查看自己当前安装的版本

importpyecharts
print(pyecharts.__version__)


在已经安装的情况下,输入此段代码即可查看当前版本

(3)安装方法

本文的代码用的是v1.x版本的

v0.5.x安装


pipinstallpyecharts==0.5.11


v0.5.x官方文档

链接:pyecharts官方文档(0.5.x).


v1.x安装


pipinstallpyecharts


v1.x官方文档

链接:pyecharts官方文档(1.x).


成功安装之后在cmd中会有如下显示

20200628093809701.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tpbGlnX19f,size_16,color_FFFFFF,t_70"alt="安装成功">

2、可视化
(1)效果

2020062809554839.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tpbGlnX19f,size_16,color_FFFFFF,t_70"alt="在这里插入图片描述">

20200628095730956.jpg"alt="在这里插入图片描述">

(2)实现思路








gridgridgridtimelineMap单页图表BarPie最终效果
(3)地图绘制

importpyecharts.optionsasopts
frompyecharts.globalsimportThemeType
frompyecharts.chartsimportMap
frompyecharts.fakerimportFaker
c=(
Map({"theme":ThemeType.WESTEROS})#设置图表主题
.add("省GDP",[list(z)forzinzip(gdp['地区'],gdp['2018'])],"china")#添加地图图例以及地图数据
.set_global_opts(
title_opts=opts.TitleOpts(title="GDP"),#图表名称
visualmap_opts=opts.VisualMapOpts(
is_calculable=True,#左下角图例设置为可拖动
dimension=0,
range_text=["High","Low"],
range_color=["lightskyblue","yellow","orangered"],#图例渐变色
textstyle_opts=opts.TextStyleOpts(color="#ddd"),#图例中文字的颜色
min_=10,#图例最小值
max_=80000,#图例最大值
),#图例的各项属性配置
c.render_notebook()#在notebook中进行展示
c.render('CSDN_map.html')#保存为HTML文件


20200628101831218.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tpbGlnX19f,size_16,color_FFFFFF,t_70"alt="在这里插入图片描述">

(4)饼图绘制

frompyecharts.chartsimportPie
c=(
Pie()
.add(
series_name="GDP",
data_pair=[list(z)forzinzip(gdp['地区'],gdp['2018'])],
radius=["20%","80%"],#设置内半径和外半径
center=["60%","60%"],#设置圆心位置
#rosetype="radius",#玫瑰图模式,通过半径区分数值大小,角度大小表示占比
itemstyle_opts=opts.ItemStyleOpts(
border_width=1,border_color="rgba(0,0,0,0.3)"
label_opts=opts.LabelOpts(is_show=True),
.set_colors(["blue","green","yellow","red","pink","orange","purple"])
.set_global_opts(title_opts=opts.TitleOpts(title="GDP"),legend_opts=opts.LegendOpts(is_show=True))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%"))
c.render_notebook()


20200628104841234.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tpbGlnX19f,size_16,color_FFFFFF,t_70"alt="在这里插入图片描述">

(5)柱状图绘制

frompyecharts.chartsimportBar
d=(
Bar()
.add_xaxis(list(gdp['地区']))
.add_yaxis("GDP",list(gdp['2018']))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))



20200628105530501.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tpbGlnX19f,size_16,color_FFFFFF,t_70"alt="在这里插入图片描述">

(6)拼接起来并且用timeline组合

defsort(data,i):
name=list(gdp['地区'])
data=list(gdp[i])
result=sorted([list(z)forzinzip(name,data)],key=lambdas:s[1],reverse=True)
returnresult
importpyecharts.optionsasopts
frompyecharts.globalsimportThemeType
frompyecharts.commons.utilsimportJsCode
frompyecharts.chartsimportTimeline,Grid,Bar,Map,Pie,Line
frompyecharts.fakerimportFaker
defmap_(i):
c=(
Map({"theme":ThemeType.DARK})
.add("省GDP",sort(gdp,i),"china")
.set_global_opts(
title_opts=opts.TitleOpts(title="GDP"),
visualmap_opts=opts.VisualMapOpts(
is_calculable=True,
dimension=0,
pos_left="10",
pos_top="top",
range_text=["High","Low"],
range_color=["lightskyblue","yellow","orangered"],
textstyle_opts=opts.TextStyleOpts(color="#ddd"),
min_=10,
max_=80000,
returnc
#{"theme":ThemeType.DARK}'''
defmake_bar(i):
name=[]
data=[]
foriinsort(gdp,i):
name.append(i[0])
data.append(i[1])
d=(
Bar({"theme":ThemeType.DARK})
.add_xaxis(name)
.add_yaxis("",data)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title=''),visualmap_opts=opts.VisualMapOpts(
is_calculable=True,
dimension=0,
pos_left="10",
pos_top="top",
range_text=["High","Low"],
range_color=["lightskyblue","yellow","orangered"],
textstyle_opts=opts.TextStyleOpts(color="#ddd"),
min_=10,
max_=80000,
#.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%"))
returnd
defmake_pie(i):
c=(
Pie({"theme":ThemeType.DARK})
.add(
series_name="",
data_pair=sort(gdp,i),
radius=["15%","35%"],
center=["80%","82%"],
#rosetype="radius",
itemstyle_opts=opts.ItemStyleOpts(
border_width=1,border_color="rgba(0,0,0,0.3)"
label_opts=opts.LabelOpts(is_show=False),
.set_colors(["blue","green","yellow","red","pink","orange","purple"])
.set_global_opts(title_opts=opts.TitleOpts(title=""),legend_opts=opts.LegendOpts(is_show=False))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))#is_show=Falselabel_opts=opts.LabelOpts(formatter="{b}:{c}")
returnc

grid_chart=(
Grid(init_opts=opts.InitOpts(width="1600px",height="900px",theme=ThemeType.DARK))
.add(
make_bar(i),
grid_opts=opts.GridOpts(
pos_left="70",pos_right="45%",pos_top="50%",pos_bottom="20"
.add(make_pie(i),grid_opts=opts.GridOpts(pos_left="45%",pos_top="60%"))
.add(map_(i),grid_opts=opts.GridOpts(pos_top="100%"))
returngrid_chart
deftimeline(e)-Timeline:
x=Faker.choose()
tl=Timeline(init_opts=opts.InitOpts(width="1600px",height="900px",theme=e))
foryearinrange(2000,2020):
year=str(year)
tl.add(grid(year),year+'年')
tl.add_schema(
orient="vertical",
is_auto_play=True,
is_inverse=True,
play_interval=5000,
pos_left="null",
pos_right="5",
pos_top="20",
pos_bottom="20",
width="60",
label_opts=opts.LabelOpts(is_show=True,color="#fff"),
returntl
timeline(ThemeType.WESTEROS).render_notebook()


Python数据可视化:使用pyecharts和snapshot绘制精美图表01-291万+

用Python画中国地图,实现各省份数据可视化!可视化简直了!04-151642

如何在Django中优雅的使用pyecharts设计可视化BI系统(多图表)12-051239

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化04-02157

最新新闻

手机浏览

公理网 版权所有

公理网 Total 0.036461(s) query 6, 报料QQ:点击这里

给我发消息