[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等

今日心情 :因为逛了街而莫名的开心
废话警告:心情好了就收不住,我可能要开始叨叨了。。。


鉴于目前在用的一直是FineReport(说人话:帆软),虽然自我感觉,用的熟练度已经可以了,但是考虑到技能的全面性,所以最近打算研究一下其他的数据可视化工具,比如:Echarts、PowerBI等。至于为什么不是直接上手Echarts,而是先从pyecharts入手,暂且不表(嘿嘿,不告诉你)。

顺便补充一句,之后我可能会出一个pyecharts的使用手册(超链接),有兴趣的可以关注一下哈。个人精力有限,会优先发布在公众号上。

pyecharts的GitHub地址:https://github.com/pyecharts/pyecharts

Echarts官网:https://www.echartsjs.com/zh/index.html

版本信息

python3.6.6、pyecharts1.7.1

源码分析

准备好测试数据,我们以柱形图作为实例

from pyecharts.charts import Bar

x_data = ['分类1', '分类2', '分类3', '分类4', '分类5', '分类6', '分类7', '分类8', '分类9', '分类10', '分类11', '分类12', '分类13', '分类14', '分类15', '分类16', '分类17']
y_data = [0.72, 0.61, 0.98, 0.92, 0.67, 0.87, 0.6, 0.75, 0.96, 0.68, 0.71, 0.49, 0.35, 0.76, 0.81, 0.45, 0.51]
instance_bar = (
    Bar()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(yaxis_data=y_data, series_name='aaa')
)

instance_bar.render('11.html')

做出的图是下面介样的:
[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第1张图片
但是一般来说,金主爸爸怎么能让你这么轻松就完成任务?来来来,把背景色改了,配色换个,图太大了。。。。balabala一大堆。。。这时候要是搞不定,岂不是显的我没几把刷子?不能够啊,那咱就来好好研究一下。

变量instance_bar是类pyecharts.charts.Bar的实例。查看类Bar部分的源码,可以发现,它只有一个add_yaxis方法。从参数来看,这是一个配置y轴的方法,我们要找的图表大小、背景色等设置不在这里
[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第2张图片
但是,类Bar继承至类RectChart,这个类有extend_axisadd_xaxisreversal_axisoverlap(组合图配置)等方法
[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第3张图片
除此外,它的初始化函数__init__中,接受参数init_opts,这个参数的默认值为opts.InitOpts()。定位到其源码部分,我们来看看这到底是个什么鬼
[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第4张图片
酱酱酱,好像发现了什么不得了的事情。按照经验,关于参数的用途,我们可以合理的做以下猜测:

  • width:配置图的宽度,单位是px
  • height:配置图的高度,单位是px
  • charts_id:配置图的id。这个在用选择器定位元素的时候有用,本文中暂不做相关介绍。
  • renderer:渲染方式(SVG或CANVAS),本文中暂不做相关介绍。
  • page_title:因为pyecharts最后可渲染为html,这个应该是html网页的标题。
  • theme:主题,尚不确定是不是配色主题。查看源码,可以发现其可取值信息如下
    [pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第5张图片
  • bg_color:背景色。结合Echarts官网的文档可以发现,颜色一般可使用 RGB 表示,比如 'rgb(128, 128, 128)' ,如果想要加上 alpha 通道,可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六进制格式,比如 '#ccc'
  • js_host:这个应该是引入的js文件的路径。本文中暂不做相关介绍。
  • animation_opts:这个结合Echarts官网的文档可以发现,应该是动画相关配置。本文中暂不做相关介绍。

图形基础设置

接下来,验证一下对于参数width、height、page_title、theme的猜想的正确性

from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.options.global_options import ThemeType

x_data = ['分类1', '分类2', '分类3', '分类4', '分类5', '分类6', '分类7', '分类8', '分类9', '分类10', '分类11', '分类12', '分类13', '分类14', '分类15',
          '分类16', '分类17']
y_data = [0.72, 0.61, 0.98, 0.92, 0.67, 0.87, 0.6, 0.75, 0.96, 0.68, 0.71, 0.49, 0.35, 0.76, 0.81, 0.45, 0.51]
instance_bar = (
    Bar(init_opts=opts.InitOpts(bg_color='rgba(255,250,205,0.2)',
                                width='1000px',
                                height='600px',
                                page_title='page',
                                theme=ThemeType.MACARONS
                                )
        )
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(yaxis_data=y_data, series_name='aaa')
)
instance_bar.render('11.html')

结果如下。可以发现背景色、图片大小、网页标题、配色都改变了。猜想变成现实了~叭错,晚上给自己加鸡腿~

[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第6张图片

有疑问可在评论处留言,欢迎大家一起交流探讨。考虑到网页我可能不经常看,若问题较为紧急,可关注微信公众号「燃烧吧数据」(id:data-fired),聊天框输入暗号:江湖救急,即可召唤小姐姐一枚~
[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等_第7张图片

你可能感兴趣的:(数据可视化,数据分析,python)