d3.js手机端做图表时如何做自适应?

发布于 2022-09-04 13:38:31 字数 1317 浏览 35 评论 0

用d3做手机端图标,手机端用了flexoble.js动态设置html的font-size和dpr。
但是却导致图标显示差异很大(以为内图标传的值都是数值形式,而不是rem单位的)

phone6s p dpr=3

clipboard.png

meizu note3 dpr=1

clipboard.png

iphone 6 dpr=2

clipboard.png

这里由于图标传入的数值不能是rem单位

rectData:[180,200,170,20,180,50,90]
...
let linear = d3.scaleLinear()
                                    .domain([0,d3.max(this.rectData)])
                                    .range([0,200]);// 设置图表范围

而设置图表范围时如果也用rem单位,柱状图是可以自适应了,但是坐标显示会问题。

let linear = d3.scaleLinear()
                                    .domain([0,d3.max(this.rectData)])
                                    // .range([0,200]);
                                    .range([0,'6rem']); // 使用rem时

clipboard.png

请问是否有办法解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文