【D3.js】1.15-反转 SVG 元素


title: 【D3.js】1.15-反转 SVG 元素
date: 2022-12-02 14:07
tags: [JavaScript,CSS,HTML,D3.js,SVG]



svg坐标的y轴是在顶部的,即画出来的rect也是底朝上,如何让rect的底处于底部呢?

一、学习目标

  • 如何通过改变y轴的计算方式来反转rect的底部,使其位于svg的下方?

y = h - d*3;

二、题目

改变 y 属性的回调函数,让条形图向上放置。 height 的值是 3 倍 d 的值。

三、通关代码

<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

    const w = 500;
    const h = 100;

    const svg = d3.select("body")
                  .append("svg")
                  .attr("width", w)
                  .attr("height", h);

    svg.selectAll("rect")
       .data(dataset)
       .enter()
       .append("rect")
       .attr("x", (d, i) => i * 30)
       .attr("y", (d, i) => {
         // 在这行下面添加代码
          return h-d*3
         // 在这行上面添加代码
       })
       .attr("width", 25)
       .attr("height", (d, i) => 3 * d);
  </script>
</body>

参考

  1. 用 D3 实现数据可视化: 反转 SVG 元素 | freeCodeCamp.org

更新

前往【D3.js】1.15-反转 SVG 元素 | 张鹏帅的官方网站查看更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值