详细剖析pyecharts大屏的Page函数配置文件:chart_config.json

一、问题背景

前情提要(第5.8章节):

【Python可视化大屏】全流程揭秘实现可视化数据大屏的背后原理!

在用Page函数拖拽组合完大屏时,点击页面左上角的Save Config,会生成一个文件:chart_config.json

这个文件是什么?有什么作用?怎么高效利用它?

二、揭开json文件神秘面纱

打开json文件后,如下:
详细剖析pyecharts大屏的Page函数配置文件:chart_config.json

json是一个由dict组成的列表,每个dict的key分别是:

  1. cid:chart_id,图表的唯一标识
  2. width:图表的宽度
  3. height:图表的高度
  4. top:距离顶部的大小,多少px像素
  5. left:距离左侧的大小,多少px像素

也就是说,json文件以chart_id为标识,记录了每个图表的所在大屏的属性(大小、位置等)

有了这个json配置文件,下一步生成最终大屏html文件的时候,pyecharts就知道每个图表摆放在什么位置,大小是多少了:

Page.save_resize_html(
	source="大屏_临时.html",
	cfg_file="chart_config.json",
	dest="大屏_最终.html"
)

是不是很好理解了。

三、巧用json文件

既然我们理解了json文件的内容和作用,什么时候需要用到它呢?

如果你跑完数据,拖拽组合大屏完成,生成了json文件和最终大屏,发现效果图表有问题,数据不对,但是大屏的图表没问题,都很美观,此时,只需要重新跑一遍数据,不需要重新组合拖拽大屏,就可以巧妙利用这个json文件。

所以,关键点来了(敲黑板!期末要考!!)

在开发各个子图表时,一定要在每个图表的初始化配置项opts.InitOpts里面,设置上chart_id,就像这样:

词云图:

WordCloud(init_opts=opts.InitOpts(width="450px", height="350px", theme=theme_config, chart_id='wc1'))

涟漪散点图:

EffectScatter(init_opts=opts.InitOpts(width="450px", height="350px", theme=theme_config, chart_id='scatter1'))

柱形图:

Bar(init_opts=opts.InitOpts(theme=theme_config, width="450px", height="350px", chart_id='bar_cmt1')) 

每个图表都设置了chart_id(重点!)

不然保存json文件时,pyecharts会给图表生成随机的chart_id,后面巧用json文件时就会很麻烦,需要手动替换chart_id了!

当把最新的数据重新跑完,生成好大屏_临时.html后,直接执行3_生成最终大屏.py就行,

不需要重新拖拽了!

不需要重新拖拽了!

不需要重新拖拽了!

重要的事情说三遍。

非常快速高效的生成最终大屏!(因为chart_config.json里面已经记录了上次拖拽的结果)

非常优雅对不对?

好了,关于chart_config.json的剖析就到这里!

四、关于Table图表

关于pyecharts里的Table组件,这里需要特殊说明。

由于Table不是Echarts框架的标准图表类型,属于HTML的原生表格,所以它不支持设置chart_id。(关于此事,我特意咨询了pyecharts框架的原作者 ,在此感谢大佬解答!)

所以,只能从临时大屏的html文件里,找出table的chart_id,把它粘贴到json文件中,才可以继续巧用josn文件。

五、同步讲解视频

5.1 讲解json的视频

https://www.zhihu.com/zvideo/1509818909490876416

5.2 讲解全流程大屏的视频

https://www.zhihu.com/zvideo/1503013679826690048

5.3 讲解全流程大屏的文章

https://zhuanlan.zhihu.com/p/505408710


by: 马哥python说

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详细剖析pyecharts大屏的Page函数配置文件:chart_config.json - Python技术站

(0)
上一篇 2023年4月2日 下午5:36
下一篇 2023年4月2日

相关文章

  • 【Python爬虫案例】用python爬1000条哔哩哔哩搜索结果

    目录 一、爬取目标 二、讲解代码 三、同步讲解视频 四、完整源码 一、爬取目标 大家好,我是 @马哥python说 ,一名10年程序猿。 今天分享一期爬虫的案例,用python爬哔哩哔哩的搜索结果,也就是这个页面: 爬取字段,包含:页码, 视频标题, 视频作者, 视频编号, 创建时间, 视频时长, 弹幕数, 点赞数, 播放数, 收藏数, 分区类型, 标签, …

    2023年4月2日
    00
  • 【爬虫+数据清洗+可视化分析】舆情分析哔哩哔哩”阳了”的评论

    目录 一、背景介绍 二、爬虫代码 2.1 展示爬取结果 2.2 爬虫代码讲解 三、可视化代码 3.1 读取数据 3.2 数据清洗 3.3 可视化 3.3.1 IP属地分析-柱形图 3.3.2 评论时间分析-折线图 3.3.3 点赞数分布-直方图 3.3.4 评论内容-情感分布饼图 3.3.5 评论内容-词云图 三、演示视频 四、附完整源码 一、背景介绍 您好…

    2023年4月2日
    00
  • 【2023知乎爬虫】我用Python爬虫爬了2386条知乎评论!

    目录 一、爬取目标 二、展示爬取结果 三、爬虫代码讲解 3.1 分析知乎页面 3.2 爬虫代码 四、同步视频 五、完整源码 您好,我是 @马哥python说,一枚10年程序猿。 一、爬取目标 前些天我分享过一篇微博的爬虫:https://www.cnblogs.com/mashukui/p/16414027.html但是知乎平台和微博平台的不同之处在于,微博…

    2023年4月2日
    00
  • 【2023微博签到爬虫】用python爬上千条m端微博签到数据

    一、爬取目标 大家好,我是 @马哥python说,一枚10年程序猿。 今天分享一期python爬虫案例,爬取目标是新浪微博的微博签到数据,字段包含:页码,微博id,微博bid,微博作者,发布时间,微博内容,签到地点,转发数,评论数,点赞数 经过分析调研,发现微博有3种访问方式,分别是: PC端网页:https://weibo.com/ 移动端:https:/…

    2023年3月31日
    00
  • 【股票爬虫教程】我用100行Python代码,爬了雪球网5000只股票,还发现一个网站bug!

    目录 一、爬取目标 二、分析网页 三、爬虫代码 四、同步视频 五、get完整源码 一、爬取目标 您好,我是@马哥python说,今天继续分享爬虫案例。 爬取网站:雪球网的沪深股市行情数据具体菜单:雪球网 > 行情中心 > 沪深股市 > 沪深一览 爬取字段,含:股票代码,股票名称,当前价,涨跌额,涨跌幅,年初至今,成交量,成交额,换手率,市盈…

    2023年4月2日
    00
  • 【爬虫+情感判定+Top10高频词+词云图】”乌克兰”油管热评python舆情分析

    目录 一、分析背景 二、整体思路 三、代码讲解 3.1 爬虫采集 3.2 情感判定 3.3 Top10高频词 3.4 词云图 四、得出结论 五、同步视频演示 六、附完整源码 一、分析背景 乌克兰局势这两天日益紧张,任何战争到最后伤害的都是无辜平民,所以没有真正的赢家!祈祷战争早日结束,世界和平!油管上讨论乌克兰局势的评论声音不断,采用python的文本情感分…

    2023年4月2日
    00
  • pyecharts世界地图用:国家中英文对照表.xlsx

    用pyecharts画Map或者Geo,需要用到的国家中英文对照表: 英文 中文 Zimbabwe 津巴布韦 Zambia 赞比亚 Yugoslavia 南斯拉夫 Yemen 也门 Western Sahara 西撒哈拉 Wallis and Futuna 瓦利斯群岛和富图纳群岛 W. Sahara 西撒哈拉 Vietnam 越南 Venezuela 委内瑞…

    Python开发 2023年4月2日
    00
  • 【Python爬虫技巧】快速格式化请求头Request Headers

    你好,我是 @马哥python说 。我们在写爬虫时,经常遇到这种问题,从目标网站把请求头复制下来,粘贴到爬虫代码里,需要一点一点修改格式,因为复制的是字符串string格式,请求头需要用字典dict格式:下面介绍一种简单的方法。首先,把复制到的请求头放到一个字符串里: # 请求头 headers = “”” Accept: text/html,applica…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部