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

d3点击坐标相对于页面而不是svg - 如何翻译它们(Chrome错误)

问题:d3点击坐标相对于页面而不是svg,如何翻译它们(Chrome错误)?

答案

这个问题涉及到一个常见的 Chrome 错误,与 SVG(可缩放矢量图形)有关。当用户点击一个与 SVG 元素关联的坐标时,Chrome 可能会报错。这种错误通常发生在以下情况下:

  1. SVG 元素没有 viewBoxwidthheight 属性。
  2. 点击的坐标位于 SVG 元素的外部,但 Chrome 浏览器不能识别点击位置的 SVG 元素。

为了解决这个问题,您可以采取以下措施:

  1. 确保 SVG 元素具有 viewBoxwidthheight 属性。
  2. 确保点击的坐标位于 SVG 元素的内部。
  3. 如果需要,可以使用 JavaScript 监听 SVG 元素的事件,并处理点击事件。

对于您提到的 "d3点击坐标相对于页面而不是svg",我猜测您在使用 D3.js 框架时遇到了这个问题。D3.js 是一种基于 JavaScript 的绘图库,用于在网页上创建各种可视化效果。如果您在绘制 SVG 元素时遇到了问题,可以尝试查找与 D3.js 相关的资料,以了解如何正确设置 SVG 元素的大小和坐标。

名词解释

  • viewBox:SVG 元素的可视区域,用于规定其显示区域的大小。
  • widthheight:用于规定 SVG 元素在水平方向和垂直方向上的显示区域大小。
  • d3:D3.js 库,一个用于数据可视化的 JavaScript 库。

推荐腾讯云产品

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

d3成神之路(一):先从柱状图开始

在接触了node-red 与 butterfly 之后,我发现它们都使用了d3,大家一致都说d3是一个学习曲线很陡的js库,网上一直有他的传说。...首先我先大致浏览了d3的文档,然后看了b站的使用d3进行数据可视化编程的视频。 感觉也不是很难吧,相对于echarts具有丰富的案例,d3只是提供很底层的api,想创造什么,看你的创造力了。...学习d3先来个柱状图吧 照着b站的视频,我也敲出来了这样一个柱状图。 很简单的一个柱状图,但用到的知识却很多,坐标系,比例尺,svg操作,一个基础图例用到的都用到了。...首先定义svg,与源数据 svg 的容器 使用的源数据 const data =...设置完比例尺 就要设置 坐标轴 和渲染数据了 const g = svg.append('g').attr('id', 'maingroup').attr('transform',`translate(

75310

从 Vite 与 Vue 开始的 D3 数据可视化之旅

「简单」是不是用的太多了 纪念品 GitHub: vue-d3-demo 示例页面: vue-d3-demo Slides(开发环境): vue-d3-demo 行李清单 首先准备好我们旅行的行李清单。...Vue + D3 根据老师的要求,作为一个 Demo 示例,我们只需要简单演示一下 D3 直方图是如何与 Vue 相结合的。 ?...(JSON 格式无疑是最佳的选择,此后我们也可以稍加改造很方便地对接任意后端的 API。) 官方提供的其实是一个 CSV 文件。...// 初始化 SVG 元素 const svg = d3 .select("#bar-chart-container") .append("svg") .attr("class", "bar-chart...---- 新的旅程 在此前,我们简单的学习了 Vue + Vite + D3 的基本操作,并搭建了一个基础的页面。 接下来我们来试图为其添加一个表单,并添加更多辅助开发的功能。

2.5K30
  • 使用JavaScript和D3.js实现数据可视化

    D3利用可缩放矢量图形或SVG格式,允许您渲染可放大或缩小的形状,线条和填充,不会降低质量。本教程将指导您使用JavaScript D3库创建条形图。...尽管你将使用CSS来进行D3的样式设定,但值得注意的是,很多在HTML上使用的标准的CSS在SVG的使用方式会不一样-也就是说,你会用stroke,不是border,使用fill不是color。...首先,矩形相当小,其次是它们附着在图表的顶部不是底部。...我们需要选择文本,然后将其附加到SVG。我们还将它与我们创建的dataArray联系起​​来。我们将使用"text",不是"rect",但一般格式和我们在上面添加矩形所做的类似。...值得注意的是,因为这是SVG不是图像,所以您可以选择文本,就像在页面上看到的任何其他文本一样。 从这里开始,您可以通过修改函数公式来重新定位数字。

    21.8K30

    《使用D3设计交互式图表》简读笔记|可视化系列31

    本文是《数据可视化实战:使用D3设计交互式图表》[1]的简要版读书笔记,通过约4000字概览如何D3做可视化、实践从数据到图形的过程。...D3库的功能和特点: •将数据和DOM绑定在一起、图形随着数据变化;•数据转换和绘制独立;不是提供Pie()这类函数绘图而是将数据转换成饼图数据,再按需绘图。...像面粉可以做出各种糕点不是直接提供面条;•擅长矢量图形,缩放不损失图形精度,不擅长位图和瓦片,不擅长探索型可视化;•作为HTML文档,不隐藏原始数据,如果不想共享数据,为什么还要将它们可视化呢?...标题通过text来绘制,图形颜色等通过style设置,数轴(坐标轴)可以拆解为线段+文本的组合,可以通过svg的line和text来画,需要注意的是坐标原点的位置以及y轴方向的问题。...实际上d3提供了绘制坐标轴的接口,省去了很多工作量。在D3的v5版本中,通过d3.axisBottom(scale)绘制x轴(水平方向)、d3.axisLeft(scale)绘制y坐标轴。

    3.8K20

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

    为简单起见,只绘制矩形的部分,用以讲解如何使用 D3SVG 画布中绘图。 画布是什么 之前处理对象都是 HTML 的文字,没有涉及图形的制作。要绘图,首要需要的是一块绘图的“画布”。...添加画布 D3 虽然没有明文规定一定要在 SVG 中绘图,但是 D3 提供了众多的 SVG 图形的生成器,它们都是只支持 SVG 的。因此,建议使用 SVG 画布。...第6章 比例尺的使用 比例尺是 D3 中很重要的一个概念,上一章里曾经提到过直接用数值的大小来代表像素不是一种好方法,本章正是要解决此问题。...D3 提供了坐标轴的组件,如此在 SVG 画布中绘制坐标轴变得像添加一个普通元素一样简单。 定义坐标轴 上一章提到了比例尺的概念,要生成坐标轴,需要用到比例尺,它们二者经常是一起使用的。...要注意,text() 里返回的是 d.data ,不是 d 。

    12.8K40

    CSS 路径动画工具的诞生

    …… 以上种种效果都涉及一个无法回避的难题,曲线——该如何用技术手段去实现有曲线的动画,常用的办法有Canvas,SVG,CSS3等,但各自都有技术局限性。...于是我开始考虑如何把这颗樱桃,咳咳,这动画可以更轻快地点在页面上。 需求确定 一句话描述关键需求—— 重构中,可以快速的在重构界面中绘画出曲线的运动路径,并让元素在路径上运动,最终输出重构内容。...这句话中还包含了一些隐藏的场景: 1、方案具有兼容性 2、移动端重构中可以使用px,rem,%等单位; 3、动画的相对位置可以基于界面中的某个坐标不是左上角; 通过这些要求,我们可以开始去找是否有合适的工具...获取一段三次贝塞尔曲线中点坐标的公式如下: 由于工具采用的是多段三次贝塞尔曲线,不同线段的t取值范围并不是[0,1],而是该线段在整个曲线中的比例。...在开发的过程中,随着功能的实现,不断有更多念头冒出,例如:是否需要做成“可以代替大量页面动画的重构工作的工具”,最终还是否定了这个念头——这是一个快速解决一段代码的轻度工具,不是一个替代整个开发流程的重度工具

    4K01

    D3使用教程】(4) 添加数轴

    //call()在D3中会取得传递过来的元素,然后再把它交给其他函数。对这个例子而言,传递过来的元素就hi新的分组元素g。call()接着把g交给了xAxis函数,即在g元素内生成数轴。...但是,要注意的是,在给SVG元素应用样式时,要确保应用的属性名是SVG的,不是CSS的。...(SVG属性名参考:https://developer.mozilla.org/en-US/docs/SVG/Attribute) 但是,我们看到这个数轴是在上方。按常理,不是都应该在下面的吗?...(h-padding)是把分组的顶边y坐标设置为h,即整个SVG元素的高度,然后再减去我们前面定义的边距值(padding). 我们看到,g元素被加上了一个transform属性。...如图: ##(3)垂直数轴 相比水平数轴xAxis,我们可以通过修改其代码,相对于yScale比例尺而定义一个y轴。

    27210

    JavaScript图表的数据可视化:比较D3和Kendo UI

    为了简单性和可移植性,我将从网上加载所有内容,不是假设您已经下载了库。我们将从添加两个CSS库开始,Kendo UI库将使用这两个CSS库。接下来,我们添加了Kendo UI也使用的jQuery库。...我可以关闭网格线,但默认情况下,我可能需要它们,所以不需要添加它们(D3),我必须禁用它们。这是不同的方法。...这将关闭水平和垂直网格线以匹配D3图表,并迫使Y轴使用800作为其最大值,不是它选择的900。这也和我们告诉D3图的相匹配。...这将突出显示我们如何添加动画。...我可以关闭网格线,但默认情况下,我可能需要它们,所以不需要添加它们(D3),我必须禁用它们。不同的方法。

    11.9K30

    前端框架与库-D3.js数据可视化基础

    选择器的误用:D3的选择器语法与jQuery类似但更强大,不当使用会导致意料之外的结果。 过渡动画的过度使用:虽然过渡动画能增强用户体验,但过度使用会增加页面加载时间和降低性能。...坐标轴配置错误坐标轴的配置需要精确计算,错误的设置会导致数据表示不准确。...如何避免 数据绑定:使用.data()方法并确保使用.enter().append()和.exit().remove()来处理新旧数据的变化。...选择器:熟悉D3的选择器语法,尤其是.selectAll()和.select()的区别。 过渡动画:合理使用.transition(),并考虑性能影响,特别是在大数据集上。...坐标轴配置:仔细设置.scaleLinear()和.axisBottom()等方法,确保数据范围和刻度的准确性。 代码示例:创建一个简单的条形图 <!

    20110

    开启D3:是什么让程序员与设计师如此钟爱

    D3不是像Adobe Illustrator那样需要下载下来使用的软件,也不是类似R语言那样可以通过命令行工具来分析和生成图表的开发环境,更不是像Google Charts或Tableau Public...从技术上来讲,能被浏览器访问并被其渲染的东西都可以称为Web文档,这包括任何HTML页面,但更为重要的还有SVG(可缩放矢量图形)及图片。 你以前可能用过SVG。...所有这些工具都依赖一套自己特有的方式在页面上制图(用技术术语来讲,就是都在使用自己的场景结构)。D3与众不同,它与数据结合,提供一种直接操作Web的内置场景结构,即文档对象模型的方式。...D3的使用要点 你可以用D3来制作一些用以娱乐或赚钱的东西,不用缴纳任何许可证费用,甚至不需要提到D3的名字。D3是完全开放的。并非所有浏览器都支持D3,这是因为并非所有浏览器都执行Web标准。...被称为“现代浏览器”的Google Chrome、Mozilla Firefox、Opera、Safari和Internet Explorer 9及其以上版本都兼容D3

    1.7K20

    前端框架与库-D3.js数据可视化基础

    选择器的误用:D3的选择器语法与jQuery类似但更强大,不当使用会导致意料之外的结果。 过渡动画的过度使用:虽然过渡动画能增强用户体验,但过度使用会增加页面加载时间和降低性能。...坐标轴配置错误坐标轴的配置需要精确计算,错误的设置会导致数据表示不准确。...如何避免 数据绑定:使用.data()方法并确保使用.enter().append()和.exit().remove()来处理新旧数据的变化。...选择器:熟悉D3的选择器语法,尤其是.selectAll()和.select()的区别。 过渡动画:合理使用.transition(),并考虑性能影响,特别是在大数据集上。...坐标轴配置:仔细设置.scaleLinear()和.axisBottom()等方法,确保数据范围和刻度的准确性。 代码示例:创建一个简单的条形图 <!

    17110

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

    当你要创建可视化时,了解如何加载数据以及将其绑定到DOM非常重要。所以在这个实例中,你将学到这两点。...d3.select('svg') .attr("width", svgWidth) .attr("height", svgHeight); // 首先是拿最大值构建x轴坐标 let...Vue中使用 D3.js的正确姿势 我们将使用 D3和 Vue构建一个基本的柱状图组件。网上有一堆例子,但我们将专注于写 Vue,不是滥用D3。 1. 安装依赖 首先,我们需要为项目安装依赖项。...D3 长于可视化,不止于可视化,还提供了 数据处理、 数据分析、 DOM 操作等诸多功能。 如果有想深耕数据可视化方面的前端, D3不得不学。 ?...掌握 D3 后,限制作品水平的只会是想象力不再是技术。

    7.9K30

    【前端】移动端Web开发学习笔记【1】

    浏览器错误:IE8以CSS像素对其进行度量,IE7和IE8模式下都有这个问题。 它们是显示器的属性,不是浏览器的。 ---- window.pageX/YOffset 意义:页面滚动的距离。...在这种情况下document.documentElement.clientWidth和-Height给出的仍然是viewport的尺寸,不是元素的。...对于我们当前的讨论来说它们当中的三种是重要的: pageX/Y提供了相对于元素的以CSS像素度量的坐标。 clientX/Y提供了相对于viewport的以CSS像素度量的坐标。...你永远不需要知道事件相对于屏幕的坐标。 ---- 媒体查询 意义:见正文。 度量单位:见正文。 浏览器错误:IE不支持它们。...(它们在所有浏览器中实际上就是这么做的,即使这个镜像的值不正确。) ---- 事件坐标 这里的事件坐标与其在桌面环境上的工作方式差不多。

    16130

    10个超实用的设计师专属Chrome小插件

    3.Toybox 网页设计过程中,你是否还在为需要花费大量时间逐个检测页面元素、截屏并记录相关错误或Bug苦恼?...5.SVG Grabber 浏览网页时, 如若你只希望截取页面中的某个Logo或图标进行设计时,SVG Grabber工具值得一试。...简单点击开始按钮,该工具就会自动提取该页面的所有SVG图片。然后轻松查看,并选择需要的SVG图片下载即可。 诚然,此款Chrome插件并非常用设计工具。...以上就是小编为大家收集的10个超实用的Chrome插件,希望它们能为大家设计工作提供便利,并帮助大家产出更优的设计作品。...作者:Brendan Mahony /翻译:摹客 原文链接:https://uxdesign.cc/10-best-chrome-extensions-for-designers-a76540b93836

    2K30

    【小工具大用处】10个超实用的设计师专属Chrome小插件

    以下内容由Mockplus团队翻译整理,仅供学习交流。 设计师日常设计过程中, 免不了需要使用Chrome搜索各类最新设计案例或文章。...image.png 3.Toybox 网页设计过程中,你是否还在为需要花费大量时间逐个检测页面元素、截屏并记录相关错误或Bug苦恼?不用担心!试试Toybox工具吧!...image.png 5.SVG Grabber 浏览网页时, 如若你只希望截取页面中的某个Logo或图标进行设计时,SVG Grabber工具值得一试。...简单点击开始按钮,该工具就会自动提取该页面的所有SVG图片。然后轻松查看,并选择需要的SVG图片下载即可。 诚然,此款Chrome插件并非常用设计工具。...总之, 它是一款非常有趣、新颖的Chrome插件工具。 image.png 以上就是小编为大家收集的10个超实用的Chrome插件。希望它们能为大家设计工作提供便利,并帮助大家产出更优的设计作品。

    80510

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

    当你要创建可视化时,了解如何加载数据以及将其绑定到DOM非常重要。所以在这个实例中,你将学到这两点。...d3.select('svg') .attr("width", svgWidth) .attr("height", svgHeight); // 首先是拿最大值构建x轴坐标 let...Vue中使用 D3.js的正确姿势 我们将使用 D3和 Vue构建一个基本的柱状图组件。网上有一堆例子,但我们将专注于写 Vue,不是滥用D3。 1. 安装依赖 首先,我们需要为项目安装依赖项。...D3 长于可视化,不止于可视化,还提供了 数据处理、 数据分析、 DOM 操作等诸多功能。 如果有想深耕数据可视化方面的前端, D3不得不学。 ?...掌握 D3 后,限制作品水平的只会是想象力不再是技术。 源码地址:点这里 作者掘金文章总集 需要转载到公众号的喊我加下白名单就行了。

    8.7K10

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

    D3.js + Canvas 绘制组织结构图 使用 D3.js 默认的 svg 渲染 D3默认的树状图画图使用的是svg 使用svg有好有坏: 好处是方便操作dom元素, 添加用户交互 坏处是渲染效率不高..., 在数据量较大时页面易掉帧, 卡顿 在大多数数据量不是特别大情况下, 使用svg的好处是远远盖过坏处的,但如果我们真的需要渲染大量的数据呢?...的方式实现Canvas 的用户交互 通过绘制一张和之前 Canvas数据相同的隐藏Canvas, 并给每一个 想要接受用户交互的节点赋予唯一的颜色 通过监听Canvas点击事件, 获取点击像素的颜色值来判断点击的节点...该文章中有对该思路的详细介绍: https://medium.com/@lverspohl… 1.使用 D3.js的 Three 在 虚拟Dom 中画好图像 首先调使用D3创建 Tree的虚拟Dom...drawCanvas () { this.drawShowCanvas() this.drawHiddenCanvas() } 在上面一张Canvas上监听用户点击事件, 通过象素的坐标

    8.8K40

    14个最好的 JavaScript 数据可视化库

    基于 SVG 的库通常更适合中小型数据集,因为每个元素都是唯一的节点并存在于 DOM 树中。这也意味着它们允许被直接访问,从而具有更多的灵活性。...有时最好保持理智并在开发部分上花费更多资源,不是试图改造库来满足你的特定需求。虽然一开始听起来很可怕,但是以 SVG 为导向的心态和几小时的实验 —— 谁知道呢,它可能很有趣!...HTML5 Canvas 只是一个位图的绘图表面,它并不知道内部绘制的对象是什么 —— 它们是像素,不是SVG 一样的 DOM 元素。如果你想让它具有交互性,需要自己去处理所有的逻辑。...D3.js D3 是最受欢迎的 JS 库之一,不仅可用于数据可视化,还包括动画、数据分析、地理和数据实应用。使用HTML,SVG 和 CSS 等技术。...而且你必须直接从 Google URL 不是 NPM 包加载它。

    5.9K30
    领券