一、Pyecharts简介
Echarts是XX开源的数据可视化js库,而python是强大的脚本语言,将Echarts和python结合起来,就组成了pyecharts可视化python库,这对于简单的数据可视化是非常容易的。
二、Pyecharts安装
pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容?,并对应不同的python版本。pyecharts的v0.5.X版本支持python2.7、python3.4+;pyecharts的v1版本仅支持python3.6+。个人觉得v1版本的功能更强大也更方便使用一些。
(1)安装v0.5.X版本:pip install pyecharts == 0.5.5
(2)安装最新版(v1以上):pip install pyecharts
pyecharts的图表样式都是通过配置来操作的,包括初始化、全局配置项、系列配置项、图表配置项等。
初始化
在初始化配置中,可以设置画布的长、宽,网页标题、图表主题、背景色等;
初始化可通过options.InitOpts
设置
#表示设置柱状图的长为600px,宽为400px bar = Bar(init_opts=options.InitOpts("600px","400px"))
全局配置项
全局配置项通过set_global_options
方法设置
1、标题配置项
标题配置项中常用的为标题内容及展示位置、标题字体、大小等,如下示例:
#title_opts为全局配置项中标题设置参数 #options.TitleOpts为全局配置项中标题设置的值,是一个方法 #方法的参数包括图表标题名称title、位置pos_left、pos_right等,以下表示居中显示 title_opts=options.TitleOpts(title="示例",pos_left="center",pos_right="center")
#title_textstyle_opts是options.TitleOpts的另一个参数,表示文本类型 #options.TextStyleOpts为设置文本字体、大小的值,以下表示字体为“微软雅黑”,字体大小为12 title_textstyle_opts=options.TextStyleOpts(font_family="微软雅黑",font_size="12")
2、图表Y轴样式
图表分割线也需要在全局配置项中设置,如下:
#yaxis_opts为全局配置的y轴展示样式参数 #options.AxisOpts为系列配置项的坐标轴配置 #splitline_opts表示是否展示坐标轴的分割线,默认为False,即不展示 yaxis_opts=options.AxisOpts(splitline_opts=options.SplitLineOpts(is_show=True))
3、图例设置项
图例的展示形式、位置也是需要在全局配置项中设置的,如下:
# legend_opts表示全局配置的图例配置项 #options.LegendOpts表示图例配置项的值,可以配置位置、字体、大小等,如下: legend_opts=options.LegendOpts(pos_bottom="0", textstyle_opts=options.TextStyleOpts(font_family="微软雅黑",font_size="8"))
系列配置项
系列配置项通过set_series_opts
方法设置
1、标签配置项
标签配置项可配置标签的字体颜色、字体大小等,如下:
#label_opts表示标签选项参数 #options.LabelOpts表示配置标签选项的方法 #方法包括颜色配置、字体、大小等 .set_series_opts(label_opts=options.LabelOpts(color="#0A0A0D",font_family="微软雅黑",font_size="10"))
2、分割线配置项
分割线配置项作为系列配置项,常用作全局配置项中的Y轴样式的参数值,如下:
yaxis_opts=options.AxisOpts(splitline_opts=options.SplitLineOpts(is_show=True))
图表配置项
除了全局和系列配置项,具体的图表类型也有自己独特的配置项,比如柱状图就可以设置柱子之间的宽度、柱子的宽度以及柱子的颜色,如下:
#category_gap可以设置柱子的宽度,因为默认的柱子宽度可能会宽,不好看 #options.ItemStyleOpts可以设置柱子的颜色,如果会js,可以嵌入js实现柱子不同的颜色 bar.add_yaxis("",data,category_gap=‘60%‘,itemstyle_opts=options.ItemStyleOpts(color="#ccc"))
注:以上的配置项可以满足做一个好看的图表了,如果想深入学习可以去官方文档
from pyecharts.charts import Bar from pyecharts import options from pyecharts.render import make_snapshot # 使用 snapshot-selenium 渲染图片 from snapshot_selenium import snapshot bar = Bar(init_opts=options.InitOpts("600px", "400px")) # 设置画布高和宽 bar.add_xaxis(["袜子", "鞋子","衬衫","毛衣"]) bar.add_yaxis("", data, category_gap=‘60%‘, itemstyle_opts=options.ItemStyleOpts()) bar.set_global_opts(title_opts=options.TitleOpts(title=titleName, pos_left="center", pos_right="center", title_textstyle_opts=options.TextStyleOpts(font_family="微软雅黑", font_size="12")), yaxis_opts=options.AxisOpts(splitline_opts=options.SplitLineOpts(is_show=True))) bar.set_series_opts(label_opts=options.LabelOpts(color="#0A0A0D", font_family="微软雅黑", font_size="10")) PNGName = titleName + ".png" #生成图片 make_snapshot(snapshot, bar.render(), PNGName)
原文:https://www.cnblogs.com/yc3110/p/14822225.html