绘制效果图如下:

绘制思路:

将立体柱状图拆分为顶部与侧面,并分别用 path 路径绘制。

拆分后的顶部和侧边的绘制顺序如图所示:

 // 基础配置const svgObj = {  // svg画布大小width: 300,height:300}const width = 20;const height = 60;            // 柱体高度const lineColor = '#1ea0d8';  // 线条颜色const fillColor = '#2f71b5';  // 填充颜色

绘制路径d中的width理应通过计算得知,为了方便表示此处底部与顶部端点间的垂直及水平距离均使用width表示。

 // 绘制const svg = d3.select(node).append('svg').attr({width: svgObj.width,height: svgObj.height,});// 绘制顶面svg.append('path').attr('d', `M100 ${100 - height} l${width} ${-width} l ${-width} ${-width} l ${-width} ${width} z`).attr({fill: fillColor,stroke: lineColor,'stroke-width': 1,'shape-rendering': 'crispedges',});// 绘制侧面svg.append('path').attr('d', `M100 100 l 0 ${-height} l ${width} ${-width} l 0 ${height} l ${-width} ${width} l ${-width} ${-width} l 0 ${-height} l ${width} ${width} z`).attr({fill: fillColor,stroke: lineColor,'stroke-width': 1,'shape-rendering': 'crispedges',});

绘制路径命令:

M = moveto
L = lineto
H = horizontal lineto
V = vertical lineto
C = curveto
S = smooth curveto
Q = quadratic Bézier curve
T = smooth quadratic Bézier curveto
A = elliptical Arc
Z = closepath
注意:以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。

D3.js 绘制立体柱状图相关推荐

  1. D3.js绘制 颜色:RGB、HSL和插值 (V3版本)

    转载地址:D3.js绘制 颜色:RGB.HSL和插值 (V3版本) 如果要计算介于两个颜色之间的颜色,需要用到插值(Interpolation).D3提供了d3.intrerpolateRgb()来处 ...

  2. d3js mysql_使用D3.js绘制地图并打点

    本篇简单介绍一下使用D3.js绘制地图,并更具经纬度在地图打点.最后根据点生成voronoi图及其三角网. 下载地图geoJson文件 去网上下载要绘制地图的geoJson文件. 使用d3.json( ...

  3. D3.js绘制树形图

    1.什么是D3: data-driven-document,翻译为数据驱动的文档,是一种由数据来决定绘图流程的程序设计模型.简单说,D3是一个JavaScript的函数库,用来做数据可视化(将数据的各 ...

  4. 使用D3.js绘制重庆地图

    重庆市地图json数据下载链接https://pan.baidu.com/s/19eZfuGGRY6JOrH9WnZJ5iw 密码h5f9 D3.js下载链接:https://pan.baidu.co ...

  5. D3.js 绘制柱状图

    使用D3 V4版本绘制 使用D3绘制柱状图,绘制效果如下: 使用D3绘制柱状图,先对需要绘制的图形拆解,主要分为以下几个部分: 1. 比例尺的定义 2. 坐标轴的绘制 3. 添加矩形 4. 修改坐标轴 ...

  6. d3.js——多柱体柱状图(v5)

    一.页面引用 <!doctype html> <html lang="en"> <head><meta charset="UTF ...

  7. d3.js 绘制极坐标图(polar plot)

    0.引言 在极坐标系中,任意位置可由一个夹角和一段相对原点(极点)的距离表示.也就是说,我们可以用 (angle,r) 来表示极坐标系中的点. 1.数据 假设我们有如下数据集[ [10, 0.2], ...

  8. ECharts: 绘制立体柱状图【圆柱体】

    绘制这个立体的圆柱体柱状图主要由三块组成: 底部 主体 顶部 实现这种效果主要是: ECharts中的 series 属性,通过两种不同类型的图表组合而成. 其中里面的柱体渐变色是通过 ECharts ...

  9. D3.js 绘制散点图

    一.实现效果 二.代码 1.创建svg var svg = d3.select('#mychart').append('svg').attr('width', width + margin.left ...

最新文章

  1. POJ-1860-Currency Exchange
  2. Java之美之设计模式
  3. 课后作业-阅读任务-阅读笔记
  4. 隹悦服务器批量控制软件
  5. AAAI-19录用论文清单
  6. BAT运维系统Client设计探秘
  7. 在提交消息中链接到GitHub上的问题编号
  8. ftp服务器文件端口,ftp服务器端口用哪个文件
  9. 9.3 客户端接收响应信息(异步转同步的实现)
  10. 取名算法之用JAVA实现汉字五行笔画查询
  11. Edge浏览器无法打开网页
  12. 金蝶EAS,序时簿界面ListUI数据不允许修改、删除
  13. 关于URP中RendererFeature的使用及毛发效果的几种实现方式
  14. 生产订单在做MIGO+101收货时,报错订单不存在有效的订单项
  15. 网易云课堂微专业--Java高级开发工程师
  16. JavaWeb学习-监听器
  17. 图解TCP/IP——第三四章笔记
  18. 【零基础学WebGL】矩阵变换
  19. (未完成)历届国赛题目分析(2005)
  20. AnalyticDB实现和特点浅析

热门文章

  1. 非线性规划(凸规划,无约束最优化方法,约束最优化方法)
  2. ffmpeg实现变速播放
  3. 安卓手机如何直接跟Mac电脑互传文件
  4. 操作系统---计算机系统概述
  5. 利用福禄克光纤测试仪了解综合布线
  6. 解决麒麟系统安装mysql后登录错误:‘Access denied for user ‘root‘@‘localhost‘
  7. 运行计算机配置gpedit,组策略(gpeditmsc)学习
  8. 微信小程序 request:fail url not in domain list
  9. cisco packet tracer_交换机配置/mac地址表(图解version:8+)
  10. Apache Impala: Impala的java开发