首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手带你上手D3.js数据可视化系列(一)手把手带你上手D3.js数据可视化系列(一)

D3.js 进行可视化,可以用矢量图的 SVG,也可以用标量图、像素的canvas,因为古柳 SVG 用的多些,这里就以此为例。...,很简单的 CSS 选择器用法; 接着通过 append 添加 svg 元素,然后设置其的宽高背景色,这里为了演示方便,设置成浏览器网页窗口高度的全部宽度的一半,大家也可以撑满网页窗口,或者用固定大小如...') 其中 window.innerWidth window.innerHeight 就是网页窗口某一大小打开的宽高,即图中红框部分,并且可以看到画布占了一半大小。...需要注意的是上面改了 dataset,生成0-49的50数据,以方便尽量撑满画布。所以截止目前,通过运用取余取整操作,画布上较好的绘制出了所有数据。...正好古柳之前啃大西洋手抄本可视化作品源码看到了能解决上述问题的实现方式,将在下一篇文章分享给大家,更多 D3.js 内容也将会在下一篇文章继续展开讲解,敬请期待。

4.3K20

scetch入门 第2部分:文本,对齐SVG第3部分中了解如何导出文件

下载并解压缩SVG文件后,将其直接拖到Sketch画板中。 ? 将SVG拖动到画板 选中图标后,让我们屏幕左侧的“图层”菜单中进行一些调查。...此SVG包含在名为“noun_59767_cc”的图层组中。如果单击箭头将其展开,您将看到三个名为Layer_1,Layer_2Layer_3的子图层以及一些用于艺术家信用的文本图层。 ?...我总是导入矢量文件清理空的不必要的图层。选择Layer_1Layer_2后,请注意图层为空,可以删除。 ? 删除空图层 如果展开Layer_3,您将看到这是图标核心路径的位置。 ?...请务必更改每个屏幕的画板名称,因为这是Sketch导出PNG将使用的名称! 共享样式和文本样式 共享样式允许您一次更改多个图层的样式。要了解其工作原理,首先从任何画板中选择一个蓝色矩形。...将颜色更改为黄色 你在这里做的是用“顶部矩形”样式更改形状,这会影响项目中的两个矩形。你猜怎么着?您也可以使用文本样式执行此操作。 ? 创建文本样式 选择一黑色文本行并创建一个新的文本样式。

4K30
您找到你想要的搜索结果了吗?
是的
没有找到

D3.js + Canvas 绘制组织结构图

D3.js + Canvas 绘制组织结构图 使用 D3.js 默认的 svg 渲染 D3默认的树状图画图使用的是svg 使用svg有好有坏: 好处是方便操作dom元素, 添加用户交互 坏处是渲染效率不高..., 在数据量较大页面易掉帧, 卡顿 大多数数据量不是特别大情况下, 使用svg的好处是远远盖过坏处的,但如果我们真的需要渲染大量的数据呢?...or… 上面的demo就是使用 D3.js + Canvas 的方式实现的, 组织的层数超过300才会出现明显的卡顿, 能满足大部分的组织结构图的数据....的方式实现Canvas 的用户交互 通过绘制一张之前 Canvas数据相同的隐藏Canvas, 并给每一个 想要接受用户交互的节点赋予唯一的颜色 通过监听Canvas点击事件, 获取点击像素的颜色值来判断点击的节点...使用 Unique-color 的方式实现Canvas 的用户交互 下图中可以看到, 实际上是有两张Canvas的, 其中下面的Canvas除了的节点颜色不同外, 上面的Cavans绘制的数据完全相同

8.5K40

使用JavaScriptD3.js实现数据可视化

2011年2月首次发布,撰写本文,最新的稳定版本是4.4版本,并且不断更新。D3利用可缩放矢量图形或SVG格式,允许您渲染可放大或缩小的形状,线条填充,而不会降低质量。...400 - (d * 10)}); 现在,让我们切换到我们的style.css文件,目前看起来像这样: html, body { margin: 0; height: 100% } 我们可以通过更改填充颜色来开始修改矩形...此外,我们可以通过鼠标悬停添加条形颜色样式来为我们的图表添加一些交互性: .bar:hover { fill: red } 现在,当我们将鼠标悬停在其中一个矩形上,该特定矩形将变为红色: 或者...: #0080FF } ​ .bar:hover { fill: #003366 } 在网络上处理颜色,重要的是要牢记您的观众并努力包含尽可能普遍可访问的颜色。...例如,您可能还想更改style.css文件中的font-size属性。 完成的代码代码改进 此时,您应该拥有一个JavaScript的D3库中呈现的功能完备的条形图。

21.7K30

手把手带你上手D3.js数据可视化系列(二)手把手带你上手D3.js数据可视化系列(二)

本系列配套代码用到的数据都会开源到这个仓库,欢迎大家 Star,https://github.com/DesertsX/d3-tutorial 前言 上一篇文章「手把手带你上手D3.js数据可视化系列...文章最后留下一个疑问,就是能否基于数据集大小画布大小来自动计算出每个rect的宽高间距,然后自动布局? 正好古柳之前啃大西洋手抄本可视化作品源码看到了相关实现方法,这里就和大家分享下。...基础代码 首先基本代码结构上一篇文章类似,有不懂的地方可以回顾下:「手把手带你上手D3.js数据可视化系列(一) - 牛衣古柳 2021.07.30」。...这次 SVG 画布撑满网页窗口大小,宽度不再是一半大小;并且 dataset 数据集设置大些,即 [0, 1, 2, ..., 99] 共100数据,不过后面会自动基于数据量大小计算布局,所以数据多少并不重要...;另外 colors 颜色数组不变,绘制矩形仍会通过取余数的方式来取对应颜色,以后也会介绍颜色比例尺,将类别属性进行映射到对应颜色,到时候再说。

3K10

「数据可视化库王者」D3.js 极速上手到Vue应用

用于数据可视化的 D3,其核心在于使用绘图指令装饰数据,从源数据创建新的可绘制数据,生成 SVG路径以及从数据方法 DOM中创建数据可视化元素(如轴)的功能。 ?...选择操作 ? 你需要学习的第一件事是如何使用D3.js选择操作DOM元素。该库操作DOM方面实际上非常强大,因此理论上可以将其用作 jQuery的替代品。以下代码请逐行添加运行。...首先需要添加一个 svg标签 Bar Chart using D3.js 然后 index.js中添加(已添加关键注释)...+ ")") ; // d3.scaleOrdinal() 序数比例尺 // schemeCategory10, 颜色比例尺 // D3提供了一些颜色比例尺,10就是10种颜色,20就是20种: let...→ 查看更改 非常值得安利一波。接下来进入第二部分: Vue中使用 D3.js的正确姿势 2. Vue中使用 D3.js的正确姿势 我们将使用 D3 Vue构建一个基本的柱状图组件。

7.8K30

一场因颜色混合模式而开启的视觉盛筵!

这两天古柳突然想实践下“颜色混合模式”,看看开启这个设置后可视化作品会有什么效果,其实不太记得为什么突然有这个想法,可能是因为在看一些颜色/色彩相关内容,想起 Nadieh Bremer 为客户 Kantar...最后是”颜色混合模式“的使用,临时抱佛脚看看 Nadieh Bremer 这篇文章 「Beautiful color blending effects with SVGs & d3.js」,所谓“颜色混合模式...”指的就是当元素有重叠颜色应该如何显示,默认 D3.js/SVG 里后绘制的元素会遮挡覆盖先绘制的元素,想要有不同的显示效果,就可以设置”颜色混合模式“,不同参数有不同效果,可自行了解。...导出成图片,所以设置 SVG 的背景色为黑色,而非 body 等为黑色,以免导出失去效果。...进一步又通过大量的观察,捕捉不同色彩自然光下的变化规律,借助美术中素描的思路,对 12 个颜色进行了衍生。 ?

62930

手把手带你上手D3.js数据可视化系列(三)手把手带你上手D3.js数据可视化系列(三)

- 牛衣古柳 - 2021.07.30」、「手把手带你上手D3.js数据可视化系列(二) - 牛衣古柳 - 2021.08.10」主要为了带大家熟悉 D3.js 绘制 SVG 元素等操作,所以其他地方怎么简单怎么来...添加完 SVG 画布后,通过给 SVG 添加一个 g 元素,即 group,然后将其水平向右垂直向下平移相应像素,这样后续 g 里绘制的元素其坐标原点就是图中框选区域的左上角开始,而不是画布的左上角开始...颜色数据 颜色数组会 fieldCountArray 里统计的分区一一对应,一开始用的其他配色,听不少人反馈颜色不好看后,改成了这个配色,具体会在番外篇里提到。...注意这里是已经水平垂直整体平移过的 bounds 元素里添加而不是 svg 里添加;并且先添加了一个组 g,以便其他区域区分开。....attr("fill", d => colors[fieldCountArray.findIndex(item => item[0] === d.field)]) 另外 fill 填充矩形颜色需要根据每个

2.4K20

如何用Scratch 3绘制矢量图形 【Gaming】

更改圆的颜色,请选择箭头工具,单击圆以选择它,然后单击“填充”下的下拉菜单。这将打开用于更改形状的颜色、饱和度亮度的选项。–如果希望形状透明,请选择带有对角线红线的白色框将颜色设置为“无”。...继续调整添加节点,直到对苹果形状满意为止。 绘制茎 1. 选择矩形工具。画布上创建一个长而薄的矩形,在其中放置茎。 2. 使用“节点”工具来塑造矩形,使其类似于茎。把填充物换成你想要的颜色。...要将茎移到苹果后面,请单击画布上方的“后退”按钮。 图片14.png 添加突出显示形状 1. 选择线条工具。苹果形状上画一个三角形,把每一新线前一线的末端连接起来。...使用箭头工具选择三角形,并使用填充工具将其更改为较浅的颜色,例如白色。 3. 使用“节点”工具添加调整节点以创建高光形状。如果节点过于尖锐,可以将其更改为曲线。...选择要弯曲的节点,然后单击“弯曲”按钮。–Pro提示:要一次选择多个节点,请在选择每个节点单击Shift键。 图片15.png 就这样,你画出了一个无限可扩展的苹果。

5.5K00

「数据可视化库王者」D3.js 极速上手到Vue应用

用于数据可视化的 D3,其核心在于使用绘图指令装饰数据,从源数据创建新的可绘制数据,生成 SVG路径以及从数据方法 DOM中创建数据可视化元素(如轴)的功能。 ?...选择操作 ? 你需要学习的第一件事是如何使用D3.js选择操作DOM元素。该库操作DOM方面实际上非常强大,因此理论上可以将其用作 jQuery的替代品。以下代码请逐行添加运行。...首先需要添加一个 svg标签 Bar Chart using D3.js 然后 index.js中添加(已添加关键注释)...+ ")") ; // d3.scaleOrdinal() 序数比例尺 // schemeCategory10, 颜色比例尺 // D3提供了一些颜色比例尺,10就是10种颜色,20就是20种: let...→ 查看更改 非常值得安利一波。接下来进入第二部分: Vue中使用 D3.js的正确姿势 2. Vue中使用 D3.js的正确姿势 我们将使用 D3 Vue构建一个基本的柱状图组件。

8.4K10

23个高手都在用的Figma小技巧!(2022新专辑)-Part 01

微调文本,颜色和数值 选择一个彩色形状并打开颜色菜单,按住 shift 键并上下移动方向键。您可以看到颜色“一点点的变化”。如果您使用鼠标滚轮,也可以更改颜色的色调。...如果在缩放按住 alt,这也会改变不透明度。您还可以微调任何其他字段,例如行高。 ‍ 提示:排版行高上使用 4 或 8pt 的幅度来设置你的字体比例!...009.从浏览器复制可以编辑的SVG代码 您可以直接从页面的代码中复制 SVG,而不是下载 SVG 并将它们导入回 Figma 。选择 SVG 图像并右键单击以选择检查模式。再次单击图像源。...然后图像视图中,再次右键单击检查模式,然后整个 SVG 元素上,右键单击并选择“复制元素”。...顺便说一句,您还可以使用您的组件并将它们进行布尔运算,它们将遵循设置的颜色属性样式。 013.为样式进行分组 你可以色彩样式面板中,对你的颜色样式进行组合分组,这样更方便管理。

3.5K30

3个顶级开源JavaScript图表库【Programming(JavaScript)】

您可以将的方向更改为其他类型,例如将type设置为horizo​​ntalBar。 你还可以通过backgroundColor数组参数中提供颜色类型来设置条形的颜色。...将颜色分配给标签和数据,这些标签和数据在其对应的数组中共享相同的索引。 例如,第二个标签“ Latin America”将设置为“ blue”(第二个颜色4(数据中的第二个数字)。...项目中包含 Chartist.js 库及其 CSS 文件之后,可以使用它们创建各种类型的图表,包括动画、条形图线形图。 它利用 SVG 动态地呈现图表。 下面是一个使用库绘制饼图的代码示例。 <!...D3.js D3.js是另一个很棒的开源JavaScript图表库。它是 BSD 许可下可用的。D3主要用于根据提供的数据来处理文档并向文档添加交互性。...您可以使用这个令人惊叹的3D动画库来用HTML5,SVGCSS可视化数据,并使您的网站更具吸引力。本质上,D3使您可以将数据绑定到文档对象模型(DOM),然后使用基于数据的功能对文档进行更改

3.9K00

D3.js - v5.x】(2)绘图 | 比例尺 | 坐标轴 | 柱状图 | 过渡

HTML 5 提供两种强有力的“画布”:SVG Canvas。...只绘制矩形,不绘制文字坐标轴。 SVG 中,矩形的元素标签是 rect。...最后一行的: .attr("fill","steelblue"); 是给矩形元素设置颜色。一般来说,最好写成外置 CSS 的形式,方便归类修改。...动态的图表,是指图表某一间段会发生某种变化,可能是形状、颜色、位置等,而且用户是可以看到变化的过程的。 例如,有一个圆,圆心为 (100, 100)。...//启动过渡 .attr("fill","steelblue") //终止颜色为铁蓝色 D3 会自动对两种颜色(红色铁蓝色)之间的颜色值(RGB值)进行插值计算,得到过渡用的颜色

52020

数据可视化工具d3_前端3d可视化

每个图形均视为对象,更改对象的属性,图形也会改变。要注意, SVG 中,x 轴的正方向是水平向右,y 轴的正方向是垂直向下的。...只绘制矩形,不绘制文字坐标轴。 SVG 中,矩形的元素标签是 rect。...动态的图表,是指图表某一间段会发生某种变化,可能是形状、颜色、位置等,而且用户是可以看到变化的过程的。 例如,有一个圆,圆心为 (100, 100)。...鼠标事件: click:鼠标单击某元素,相当于 mousedown mouseup 组合在一起。 mouseover:光标放在某元素上。 mouseout:光标从某元素上移出来时。...这是一个对角线生成器,只需要输入两个顶点坐标,即可生成一贝塞尔曲线。

12.7K40

盘点10款超好用的数据可视化工具

但是Excel颜色、线条样式上可选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物网站需要的数据图。但是作为一个高效的内部沟通工具,Excel应当是你百宝箱中必备的工具之一。...4、D3.js D3(Data Driven Documents)是支持SVG渲染的另一种JavaScript库。...Highcharts现代浏览器中使用矢量图,低版本的IE浏览器中使用VML来绘制图形,所以它可以在所有移动设备电脑浏览器上使用。...7、Google Charts Google Charts以HTML5SVG为基础,充分考虑了跨浏览器的兼容性,并通过VML支持旧版本的IE浏览器。...FusionCharts支持JSONXML数据,并提供许多格式图表:PNG,JPEG,SVGPDF。 9、RAW Raw是一款免费开源的Web应用程序,并且尽可能简单灵活地使数据可视化。

6.8K11

Wendy Shijia 的「 Eschers Gallery」可视化作品复现系列文章(二)

简单看下代码实现思路: defs 标签里通过3个宽高21*24的rect/长方形的transform/变形拼出一个 cube,这一步是定义图形,实际图形不会显示 svg 中; 然后使用 use 标签通过...拼出cube后,就可以把这段代码放defs标签里,当然填充的颜色需要去掉,颜色use使用时由绑定的作品数据类别来指定。...> 至此,最基本的元素定义完成了,接下来就是结合数据,通过 D3.js 来生成所有 use 标签,并传入相应的x/y坐标以及对应颜色,从而绘制出整个可视化作品即可。...伪数据构造也很简单,470件作品就是470数据,每件作品只取类型颜色,按照各自数量生成每种颜色,并打乱顺序即可。 ?...其实古柳复现完,原作比对时(下图为原作,上图为自己复现的)才突然意识到自己的 cube 图形比较扁,而 Wendy 作品里每个 cube 中间的3白线是差不多一样长的,也就是说3个 unit 是相同大小的

51840

D3.js 力导向图的显示优化(二)- 自定义功能

上图数据量并不大,如果我们拓展返回的数据量较大或多步拓展出来的数据逐步累加显示,则会导致当前视图页节点边极多,页面需呈现的数据信息量大,且也不好找到想要的某个节点。...image.png 不想选中的节点是删除了,但其他节点的显示也乱了,节点颜色属性同当前 DOM 节点对不上,为什么会这样呢?...发现问题形成的原因是解决问题的第一步,下面来解决下问题,进行缩放添加一个节点边相对画布大小偏移量的变化处理逻辑,好的,那开始操作吧。...我们先弄一个滑动控件提供给用户进行手动控制缩放画布的比例,直接用 antd 的滑动,根据它滑动的的值来控制整个画布缩放比例,下面直接贴代码了 <svg width={width} viewBox...scale 参数是我们根据控件滚动中缩放值来生成的,我们需要记录这个值来放大画布(svg 元素),从来造成视图缩小的效果的。

4.2K50

【今晚开奖】EasyShu3.1版本发布抽奖送订阅活动,接近100%中奖率

修复修复自定义图表中Vega中部分图表不能显示右侧任务窗格问题。 修复修复激活码到期但累计失效日期未过期自助申请新激活码的提示激活次数超标bug。...EasyShu的努力下,特别是将D3.js能够接入到Excel环境使用,EasyShu终可实现一个伟大愿景:你所感兴趣的绝大部分优秀图表,均可在EasyShu上零门槛一键出图。...交互式新型图表的主要特性如下: 1.图表类型的丰富 EasyShu2.8引入了百度ECharts、Vega、D3.js等将近20种高级交互式图表,包括9种不同类型的地图,以及矩阵散点图,和弦图、矩形圆形树状图...图表的高清导出 为了实现插件ECharts图表的学术与商业两用,EasyShu插件不仅可以导出单个HTML文件,还可以导出不同分辨率的标量图(tiff, png, jpg) 矢量图 (svg),如下所示...图表的重新激活与模板保存 EasyShu插件还提供了【重新激活按钮】,保证用户可以sheet页面重新打开已经绘制好的交互式图表;同时再【设置属性】页面,可以通过保存现有图表属性至模板,从而可以使用户重新绘制类型图表

2.9K30

【新版发布】EasyShu3.1版本发布,SVG地图可视化8图表可用,象形柱图信息图表吸睛之作。

修复修复自定义图表中Vega中部分图表不能显示右侧任务窗格问题。 修复修复激活码到期但累计失效日期未过期自助申请新激活码的提示激活次数超标bug。...EasyShu的努力下,特别是将D3.js能够接入到Excel环境使用,EasyShu终可实现一个伟大愿景:你所感兴趣的绝大部分优秀图表,均可在EasyShu上零门槛一键出图。...交互式新型图表的主要特性如下: 1.图表类型的丰富 EasyShu2.8引入了百度ECharts、Vega、D3.js等将近20种高级交互式图表,包括9种不同类型的地图,以及矩阵散点图,和弦图、矩形圆形树状图...图表的高清导出 为了实现插件ECharts图表的学术与商业两用,EasyShu插件不仅可以导出单个HTML文件,还可以导出不同分辨率的标量图(tiff, png, jpg) 矢量图 (svg),如下所示...图表的重新激活与模板保存 EasyShu插件还提供了【重新激活按钮】,保证用户可以sheet页面重新打开已经绘制好的交互式图表;同时再【设置属性】页面,可以通过保存现有图表属性至模板,从而可以使用户重新绘制类型图表

2.2K20
领券