惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
K
Kaspersky official blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Spread Privacy
Spread Privacy
T
Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
V
Vulnerabilities – Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
小众软件
小众软件
Cloudbric
Cloudbric
The Hacker News
The Hacker News
阮一峰的网络日志
阮一峰的网络日志
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
Forbes - Security
Forbes - Security
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
AWS News Blog
AWS News Blog
Stack Overflow Blog
Stack Overflow Blog
N
News | PayPal Newsroom
P
Privacy & Cybersecurity Law Blog
TaoSecurity Blog
TaoSecurity Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Scott Helme
Scott Helme
T
Tor Project blog
S
Secure Thoughts
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
博客园 - 司徒正美
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
Schneier on Security
Schneier on Security
B
Blog RSS Feed
AI
AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Attack and Defense Labs
Attack and Defense Labs
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Project Zero
Project Zero
Hacker News: Ask HN
Hacker News: Ask HN

星空下的YZY

【生活随笔】终于可以试一试new Bing了 指定日期网页自动变灰 【学习记录】微信小程序tabBar与自定义navigationBar踩坑记录 这小小破站(摸鱼)一周年啦 【个人记录参考】Vue3搭建项目 【学习记录】CSS动画 【随笔】将备案接入服务商转为腾讯云 正则表达式 【随笔】模拟退火 【随笔】博弈题基础回顾 live2d-widget(看板娘)修改及部署至服务器 【生活随笔】又是一年226,祝自己生日快乐 【杂记】各类零碎笔记(不定期更新) 友链朋友圈4.X.X前端适配尝试【基于店长Akilar的旧版方案】 使用JDBC操作数据库 Java读写txt文件 【随笔】通过必应的工具发现别的网站未经允许的转载 【暂不公开】YZY的ACM模板整理-java版 更换Butterfly主题及其美化记录
Hexo中使用ECharts动态图表尝试
星空下的YZY · 2022-01-23 · via 星空下的YZY

前言:

前段时间,在接触了ECharts,感觉它的效果非常合我意,所以打算看看能不能通过hexo在写博客的时候使用(毕竟写总结的时候还是很有可能用得上的)。但可惜好像没法直接用(虽然可以专门另写一个js,但是感觉不在文章内容不在md文件中不太好)。虽然自己尝试失败了,但我在Hexo官网中查到了有这种插件,所以就有了本文。(头一次想起来Hexo官网可以找一些有用的插件,差点以为以后不会再打开了🤣)

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。

引入Apache ECharts

首先在官方的教程中需要在head中引入echarts.js,EChart的官网:【Apache ECharts官网

因为echarts.js 必须在渲染 echarts 实例的 JavaScript 前引入。下文所说的插件其实有实现在每个 echarts 实例前都引入echarts.js,所以是可以不用在head中引入(但地图这种还是需要自己引入的,当然这个也需要在echarts 实例前引入)具体见下文补充

在butterfly主题中,我们可以在主题配置文件的inject中如下配置

1
2
3
4
inject:
head:
- <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
- <script src="https://cdn.jsdelivr.net/npm/echarts@4.7.0/map/js/china.min.js"></script>

或者

1
2
- <script src="https://npm.elemecdn.com/echarts@5.3.0/dist/echarts.min.js"></script> 
- <script src="https://npm.elemecdn.com/echarts@4.7.0/map/js/china.js"></script>

注:如果不需要使用中国地图上面的- <script src="https://cdn.jsdelivr.net/npm/echarts@4.7.0/map/js/china.min.js"></script>可以不用添加

【2022-02-15记】我发现其实插件中是有引入echarts.js,所以可以不用像上面一样引入echarts.js,但是插件中使用版本很老(是3.8.0,现在最新的都5.3.0了,新一点的视觉效果也有优化嘛😂),所以建议大家去把插件中的CDN换成较新的版本

如果你安装了Echarts的插件,那么具体需要修改的文件路径是node_modules\hexo-tag-echarts3\template.html中第二行的

1
<script src="https://cdn.bootcss.com/echarts/3.8.0/echarts.common.min.js"></script>

将上面的CDN换成较新的版本

比如,当前最新版本是5.3.0

1
2
3
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
//或者
<script src="https://npm.elemecdn.com/echarts@5.3.0/dist/echarts.min.js"></script>

然后替换即可

地图资源

地图是echarts.js中没有的,所以需要额外引入。好在ECharts还是提供了中国地图、世界地图,以及各省地图

对应的CDN可以通过这个链接来找https://cdn.jsdelivr.net/npm/echarts@4.7.0/map/js/

安装插件

我从Hexo官网找到了这个插件

安装命令如下

1
npm install hexo-tag-echarts3 --save

这个插件也可以在GitHub上找到:kchen0x/hexo-tag-echarts3: A simple plugin for inserting ECharts 3 by using tags in Hexo. (github.com)

正如上文所说,建议大家将插件中的CDN换成较新的版本😂

Chart.js的插件

如果你不喜欢Echarts的风格,也可以看看Chart.js的,这是它的官网:【Chart.js | 开源的 HTML5 图表工具 (bootcss.com)

(发现这个是看了这位大佬的在 Hexo 中插入 Chart 动态图表 | 岛 (gitee.io),原本以为找到的是ECharts的😅)

安装命令如下

1
npm install hexo-tag-chart --save
  • 使用示例

    由于我不使用该插件,所以该插件的基本使用引用了该插件作者的描述,具体可以见其原文【原文:在 Hexo 中插入 Chart 动态图表 | 岛 (gitee.io)

    安装插件之后在文章内使用 chart 的 tag 就可以了

    1
    2
    3
    {% chart 90% 300 %}
    \\TODO option goes here
    {% endchart %}

    其中 chart 是标签名,endchart 是结束标签,不需要更改,90% 是图表容器的相对宽度,默认是100%300 是图表容器的高度,默认是按正常比例缩放的,你可以通过设置 options 里面的 aspectRatio 属性来调整宽高比例,另外还有许多属性可以自定义,你可以查看 官方文档。在标签之间的部分,都是需要自己填充的图表数据和属性。

使用示例

我还是倾向于使用ECharts的,所以以下内容是有关ECharts

插件作者的示例

插件作者使用示例如下

1
2
3
{% echarts 400 '85%' %}
\\TODO echarts option goes here
{% endecharts %}

作者也留下了他的Demo在 Hexo 中插入 ECharts 动态图表 - KChen’s Blog

我结合ECharts官方示例的尝试

以下内容,代码及其属性描述主要是来自ECharts官方【Apache ECharts官网

接下来是我的使用尝试

【我的个人博客www.226yzy.com】

基础柱状图

效果:

基础折线图

效果:

基础饼图

效果:

基础散点图

效果:

参考文献

在 Hexo 中插入 ECharts 动态图表 - KChen’s Blog

Handbook - Apache ECharts

Chart.js · GitBook (bootcss.com)

在 Hexo 中插入 Chart 动态图表 | 岛 (gitee.io)

最后

暂时就上面这些吧

欢迎访问我的小破站 https://www.226yzy.com/ 或者【GitHub版镜像 https://226yzy.github.io/ 或Gitee版镜像 https://yzy226.gitee.io/

我的Github:https://github.com/226YZY

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。