| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> go-echarts x 轴标签显示不全 -> 正文阅读 |
|
[JavaScript知识库]go-echarts x 轴标签显示不全 |
1.简介go-echarts 是 Go 中将数据绘制成各种图表的开源库,是 Apache Echarts 的 Go 版接口,用来控制生成 Apache Echarts 图表。 在 GitHub 上,它有超过 4K 颗星,使其成为 Go 中生成图表的最受欢迎的库之一。 2.官方示例我想将自己的数据生成一个折线图。参考官方示例代码 go-echarts/examples,其中生成折线图的在 examples/line.go。这里以生成带有最小值,平均值与最大值的折线图为例,其官方示例代码如下。
其中 lineMarkPoint() 根据给定的数据设置 X 轴和 Y 轴后,以及折线图的相关属性后,返回折线图对象。然后通过 components.Page 以 HTML 文件的形式渲染生出一个折线图。 我们调用官方的示例生成对应的折线图。
运行程序,打开生成的 HTML 文件,看到的折线图如下。 3.X 轴标签显示不全我把官方的示例代码拷贝到本地,把 X 轴的标签替换成自己数据对应的标签,是日期格式,数量是十个。
Y 轴数据依旧随机产生,生成折线图的代码不变,渲染后的效果如下。 为什么会这样呢?原因是标签数量太多,太长,横着显示会出现重叠,go-echarts 自动优化,做了部分展示。 4.解决办法我们在官方包中找到了用于描述轴标签的一个类型 type AxisLabel ,其中有个属性 Interval 的注释中说了如何显示所有的的轴标签。
按照说明,我们将 AxisLabel 的属性 Interval 设置成 “0”。
渲染后的结果如下。 我们将 AxisLabel.Show 置为 true 再试下。
渲染后的结果如下: 我们继续看下 type AxisLabel 的相关属性,肯定是因为我没有将相关的属性设置好。果不其然,其中有三个属性与上面遇到的两个问题有直接的关系。
其中 Rotate 可以控制标签旋转的角度,来解决重叠的问题。注意,其是旋转的方向是逆时针旋转。比如正值 30 表示逆时针旋转 30 度。这里我又要吐槽一下,为什么不用正值表示顺时针,负值表示逆时针呢?这样不是更符合人们的认知习惯吗? 还有两个属性 ShowMinLabel 和 ShowMaxLabel 用于控制首尾标签是否显示,如果需要显示首位标签,需要将其置为 true。我可能没有 get 到 go-echarts 的精妙设计之处,将这两个字段设计成默认为 true 不是更好吗? 几经波折,下面是最终的轴坐标属性的设置。
最后的展示效果如下: 5.标签继续变长遇到的问题如果我的 X 轴标签继续变长,比如我在日期后面加上了时间。
还是按照上面的代码来生成,会出现下面标签被裁切显示不全的情况。 我们继续回到轴标签类型 type AxisLabel ,看看有没有相关的属性来控制标签栏的高度。绝望的是,并没有发现相关的属性。 实际上,go-echarts 是 Apache ECharts 的客户端库。其相关的设置,实际上是用来控制生成 Apache ECharts,相关的属性也都能在 Apache ECharts 中找到。 其中 ECharts 有个 grid 属性可以用来控制图表距离容器的左边距离和底部距离。
不过目前在 go-echarts 中并没有找到如何设置 grid,可能目前还不支持。 这里就先减小旋转的角度和字体大小来间接解决遮挡的问题。
效果如下: 6.小结本文简单记录了通过 go-echarts 生成折线图时遇到的相关问题并给出了对应的解决办法。 其中 x 轴标签显示不全,是因为标签数量太多,太长,横着显示会出现重叠,go-echarts 做了自动优化只展示部分标签。我们可以通过显示设置轴标签 相关属性 type AxisLabel 的相关属性来控制其展现形式。 比较关键的两个属性是:
如果 x 轴标签显示全部和旋转后,被遮挡,是因为图表底部距离容器的距离不够,可以通过 Grid 属性来设置。但是目前 go-echarts 貌似还不支持设置 Grid。可以通过减小旋转角度和字体大小间接让被遮挡的标签显示出来。 关于 go-echarts 更多的用法和使用问题,如果有机会,后面会继续更新。希望大家能够参照官方代码和文档,做到举一反三,能够顺利解决自己遇到的问题。 参考文献Apache ECharts |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:28:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |