目录
一、pyecharts入门
1、pyecharts模块介绍
a、概况
Echarts是百度开源的数据可视化,由于python的出现,数据可视化pyecharts也就诞生了
pyecharts官网
pyecharts画廊:画廊中提供了一些图标的源码, 直接复制代码即可使用
2、pyecharts基础入门(以折线图为例)
a、安装依赖
pyCharm需要提前安装pyecharts第三方包,具体操作方法可以看 此文章第六点
b、创建折线图
- 创建.py文件
from pyecharts.charts import Line
#得到折线图对象
line = Line()
#添加x轴数据
line.add_xaxis(["衬衫","羊毛衫","雪纺衫"])
#添加y轴数据
line.add_yaxis("商家A",[5,20,36])
#生成图表
line.render()
- 在.py文件中右键运行
- 在项目根目录中会生成一个render.html文件
- 浏览器中打开此页面,就能得到对应的折线图
c、常用配置项
pyecharts配置项分为:全局配置选项和系列配置选项
- 全局配置选项
- 基本介绍:针对整个图像进行设置,比如图像的标题,图像的图例,工具箱
- 设置方法:使用set_global_opts方法进行设置,具体有那些配置项可以去官网查看
from pyecharts.charts import Line
from pyecharts import options as opts
#得到折线图对象
line = Line()
#添加x轴数据
line.add_xaxis(["衬衫","羊毛衫","雪纺衫"])
#添加y轴数据
line.add_yaxis("商家A",[5,20,36])
#设置全局配置项
line.set_global_opts(
#设置标题,设置居中展示,设置距离底部0%的距离
title_opts=opts.TitleOpts(title="这是主标题", subtitle="这是副标题",pos_left="center",pos_bottom="0%"),
#控制图例,图例是默认显示的
legend_opts=opts.LegendOpts(is_show=True),
#设置工具箱
toolbox_opts=opts.ToolboxOpts(is_show=True),
#设置视觉映射
visualmap_opts=opts.VisualMapOpts(is_show=True)
)
#生成图表
line.render()
- 系列配置选项
- 基本介绍:针对具体的轴数据进行配置,比如y轴的某个数据
- 设置方法:在设置y轴数据时,后面添加各种配置项
from pyecharts.charts import Line
from pyecharts import options as opts
#得到折线图对象
line = Line()
#添加x轴数据
line.add_xaxis(["衬衫","羊毛衫","雪纺衫"])
#添加y轴数据,配置不显示y轴每个具体数据值的展示
line.add_yaxis("商家A",[5,20,36], label_opts=opts.LabelOpts(is_show=False))
#生成图表
line.render()
3、pyecharts创建柱状图
a、创建基本柱状图
在创建柱状图前,需要了解第二步中的基础入门介绍,以便更好理解代码内容和执行流程
from pyecharts.charts import Bar
from pyecharts import options as opts
#得到柱状图对象
bar = Bar()
#添加x轴数据
bar.add_xaxis(["衬衫","羊毛衫","雪纺衫"])
#添加y轴数据
bar.add_yaxis("商家A",[5,20,36], label_opts=opts.LabelOpts(is_show=False))
#生成图表
bar.render()
b、创建反转柱状图
基本柱状图是以x轴为底座,y轴为数据展示,想要将x轴和y轴的功能反转可以如下操作
from pyecharts.charts import Bar
from pyecharts import options as opts
#得到折线图对象
bar = Bar()
#添加x轴数据
bar.add_xaxis(["衬衫","羊毛衫","雪纺衫"])
#添加y轴数据,并设置系列配置选项(数字默认是在柱状图中间显示的,这是设置数字居右显示)
bar.add_yaxis("商家A",[5,20,36],label_opts=opts.LabelOpts(position="right"))
#反转x轴和y轴
bar.reversal_axis()
#生成图表
bar.render()
c、创建含有时间线的柱状图
- 想要创建一个根据不同的时间动态显示柱状图,从而能动态查看到柱状图不同类别的数据变化,其原理就是创建一个时间线对象,再创建多个柱状图,将柱状图分别添加到时间线对象中,设置时间线对象的自动播放
from pyecharts.charts import Bar, Timeline
from pyecharts import options as opts
from pyecharts.globals import ThemeType
# 第一步:创建柱状图对象
bar1 = Bar()
bar1.add_xaxis(["衬衫", "羊毛衫", "雪纺衫"])
bar1.add_yaxis("商家A", [5, 20, 30], label_opts=opts.LabelOpts(position="right"))
bar1.reversal_axis()
bar2 = Bar()
bar2.add_xaxis(["衬衫", "羊毛衫", "雪纺衫"])
bar2.add_yaxis("商家A", [10, 15, 25], label_opts=opts.LabelOpts(position="right"))
bar2.reversal_axis()
bar3 = Bar()
bar3.add_xaxis(["羊毛衫","衬衫", "雪纺衫"]) #这里想要在图表中将数据大的放上面,则需要按从小到大的顺序排序
bar3.add_yaxis("商家A", [10, 15, 20], label_opts=opts.LabelOpts(position="right"))
bar3.reversal_axis()
# 第二步:创建时间线对象
#timeline = Timeline() #此为创建空的时间线对象
timeline = Timeline({ #创建带主题的时间线对象
"theme": ThemeType.LIGHT, #设置主题
})
# 第三步:在时间线内添加柱状图对象
timeline.add(bar1, "点1")
timeline.add(bar2, "点2")
timeline.add(bar3, "点3")
# 第四步:设置自动播放
timeline.add_schema(
play_interval=1000, # 自动播放的时间间隔,单位毫秒
is_timeline_show=True, # 在自动播放时,是否显示时间线
is_auto_play=True, # 是否自动播放
is_loop_play=True, # 是否循环播放
)
# 第五步:生成图表,这里是用时间线对象生成图标,而不是柱状图对象
timeline.render()
4、pyecharts地图可视化
a、生成中国各省份的数据图
- 根据代码中的各个步骤来操作,地图对象默认生成的就是中国地图
- 当不设置全局参数时,视觉映射范围默认是0-100,数字过大或者过小可能无法精准显示颜色差别
- 想要自行设置新的视觉映射,需要同时设置 is_piecewise 和 pieces 的内容
- 生成的地图默认可放大缩小
from pyecharts.charts import Map
from pyecharts import options as opts
#第一步:准备地图对象
map = Map()
#第二步:准备地图数据
data = [
("北京市", 99),
("上海市", 199),
("湖南省", 299),
("台湾省", 399)
]
#第三步:设置地图参数,第一个为名字,第二个为数据,第三个为地图国家(默认就是china)
map.add("测试地图",data,"china")
#第四步:设置全局参数,地图根据数据展示具体颜色
map.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
is_show=True, #是否显示颜色
is_piecewise=True, #开启手动校准视觉映射范围 视觉映射默认是0-100,数字过大或者过小无法精准显示颜色差别
pieces=[ #设置新的视觉映射范围,这里设置总范围是0-500
{"min": 0, "max": 100, "label": "0-100", "color": "#FF0000"}, #min:最小值 max:最大值 label:显示标签 color:地图展示颜色
{"min": 101, "max": 200, "label": "101-200", "color": "#00FF00"},
{"min": 201, "max": 300, "label": "201-300", "color": "#0000FF"},
{"min": 301, "max": 400, "label": "301-400", "color": "#FFFF00"},
]
)
)
#第五步:生成地图,并配置输出文件名
map.render("测试地图.html")
b、生成某个省份的数据图
- 生成某省份的地图,步骤和前面生成国家地图一致,只是更改地图位置名即可
- 比如下面是生成湖南省的地图
from pyecharts.charts import Map
from pyecharts import options as opts
#第一步:准备地图对象
map = Map()
#第二步:准备地图数据
data = [
("长沙市", 99),
("株洲市", 199),
("湘潭市", 299)
]
#第三步:设置地图参数,第一个为名字,第二个为数据,第三个为地图名(默认就是china,也可设置省份名)
map.add("测试地图",data,"湖南")
#第四步:设置全局参数,地图根据数据展示具体颜色
map.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
is_show=True, #是否显示颜色
is_piecewise=True, #开启手动校准视觉映射范围 视觉映射默认是0-100,数字过大或者过小无法精准显示颜色差别
pieces=[ #设置新的视觉映射范围,这里设置总范围是0-500
{"min": 0, "max": 100, "label": "0-100", "color": "#FF0000"}, #min:最小值 max:最大值 label:显示标签 color:地图展示颜色
{"min": 101, "max": 200, "label": "101-200", "color": "#00FF00"},
{"min": 201, "max": 300, "label": "201-300", "color": "#0000FF"},
{"min": 301, "max": 400, "label": "301-400", "color": "#FFFF00"},
]
)
)
#第五步:生成地图,并配置输出文件名
map.render("测试地图.html")
c、生成某个市的数据图
- 当然,我们还能生成某个市的地图数据,步骤和上面的一致,更改地图位置名即可
from pyecharts.charts import Map
from pyecharts import options as opts
#第一步:准备地图对象
map = Map()
#第二步:准备地图数据
data = [
("岳麓区", 99),
("望城区", 199),
("开福区", 299)
]
#第三步:设置地图参数,第一个为名字,第二个为数据,第三个为地图名(默认就是china,也可设置省份名,市区名)
map.add("测试地图",data,"长沙")
#第四步:设置全局参数,地图根据数据展示具体颜色
map.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
is_show=True, #是否显示颜色
is_piecewise=True, #开启手动校准视觉映射范围 视觉映射默认是0-100,数字过大或者过小无法精准显示颜色差别
pieces=[ #设置新的视觉映射范围,这里设置总范围是0-500
{"min": 0, "max": 100, "label": "0-100", "color": "#FF0000"}, #min:最小值 max:最大值 label:显示标签 color:地图展示颜色
{"min": 101, "max": 200, "label": "101-200", "color": "#00FF00"},
{"min": 201, "max": 300, "label": "201-300", "color": "#0000FF"},
{"min": 301, "max": 400, "label": "301-400", "color": "#FFFF00"},
]
)
)
#第五步:生成地图,并配置输出文件名
map.render("测试地图.html")