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

在d3堆叠面积图中鼠标悬停时显示“矩形”内的工具提示值

在d3堆叠面积图中,鼠标悬停时显示"矩形"内的工具提示值是通过使用d3.js库中的工具提示(Tooltip)功能来实现的。工具提示是一种常见的交互方式,可以在数据可视化图表中显示与鼠标交互相关的信息。

具体实现步骤如下:

  1. 导入d3.js库和相关依赖文件,确保在HTML文件中正确引入。
代码语言:html
复制
<script src="https://d3js.org/d3.v7.min.js"></script>
  1. 创建SVG容器,设置图表的宽度、高度和边距。
代码语言:javascript
复制
const width = 500; // 图表宽度
const height = 300; // 图表高度
const margin = { top: 20, right: 20, bottom: 30, left: 50 }; // 图表边距

const svg = d3.select("body")
  .append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
  .append("g")
  .attr("transform", `translate(${margin.left}, ${margin.top})`);
  1. 准备数据并进行堆叠处理。
代码语言:javascript
复制
const data = [
  { category: "A", value1: 10, value2: 20, value3: 30 },
  { category: "B", value1: 15, value2: 25, value3: 35 },
  { category: "C", value1: 20, value2: 30, value3: 40 }
];

const keys = ["value1", "value2", "value3"];

const stack = d3.stack()
  .keys(keys)
  .order(d3.stackOrderNone)
  .offset(d3.stackOffsetNone);

const series = stack(data);
  1. 创建x轴和y轴的比例尺。
代码语言:javascript
复制
const xScale = d3.scaleBand()
  .domain(data.map(d => d.category))
  .range([0, width])
  .padding(0.1);

const yScale = d3.scaleLinear()
  .domain([0, d3.max(series, d => d3.max(d, d => d[1]))])
  .range([height, 0]);
  1. 绘制堆叠面积图。
代码语言:javascript
复制
const area = d3.area()
  .x(d => xScale(d.data.category) + xScale.bandwidth() / 2)
  .y0(d => yScale(d[0]))
  .y1(d => yScale(d[1]));

svg.selectAll("path")
  .data(series)
  .join("path")
  .attr("fill", (d, i) => `rgb(${i * 50}, ${i * 50}, ${i * 50})`)
  .attr("d", area);
  1. 添加工具提示。
代码语言:javascript
复制
const tooltip = d3.select("body")
  .append("div")
  .attr("class", "tooltip")
  .style("opacity", 0);

svg.selectAll("path")
  .on("mouseover", (event, d) => {
    const total = d3.sum(d, e => e[1] - e[0]);
    const category = d.key;
    const value = d3.format(".2f")(total);

    tooltip.transition()
      .duration(200)
      .style("opacity", 0.9);

    tooltip.html(`Category: ${category}<br/>Value: ${value}`)
      .style("left", (event.pageX) + "px")
      .style("top", (event.pageY - 28) + "px");
  })
  .on("mouseout", () => {
    tooltip.transition()
      .duration(500)
      .style("opacity", 0);
  });

通过以上步骤,我们可以在d3堆叠面积图中实现鼠标悬停时显示"矩形"内的工具提示值。当鼠标悬停在某个矩形上时,工具提示会显示该矩形所属的类别(Category)和对应的值(Value)。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库MySQL版、腾讯云CDN等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

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

相关·内容

60 种常用可视化图表,该怎么用?

跟折线图一样,面积图可显示某时间段内量化数值的变化和发展,最常用来显示趋势,而非表示具体数值。 两种较常用的面积图是分组式面积图和堆叠式面积图。...分组式面积图在相同的零轴开始,而堆叠式面积图则从先前数据系列的最后数据点开始。...推荐的制作工具有:D3、Datamatic、Datavisual、Infogr.am 堆叠式面积图 堆叠式面积图 (Stacked Area Graph) 的原理与简单面积图相同,但它能同时显示多个数据系列...当不同数量被分配到各个类别时,这些矩形的面积大小会与此数量成正比显示。...在南丁格尔玫瑰图中,代表数值的是分段面积,而不是其半径。 推荐的制作工具有:Datamatic、Infogr.am。

10.2K10
  • 常用60类图表使用场景、制作工具推荐!

    跟折线图一样,面积图可显示某时间段内量化数值的变化和发展,最常用来显示趋势,而非表示具体数值。 两种较常用的面积图是分组式面积图和堆叠式面积图。...分组式面积图在相同的零轴开始,而堆叠式面积图则从先前数据系列的最后数据点开始。...推荐的制作工具有:D3、Datamatic、Datavisual、Infogr.am 堆叠式面积图 堆叠式面积图 (Stacked Area Graph) 的原理与简单面积图相同,但它能同时显示多个数据系列...当不同数量被分配到各个类别时,这些矩形的面积大小会与此数量成正比显示。...在南丁格尔玫瑰图中,代表数值的是分段面积,而不是其半径。 推荐的制作工具有:Datamatic、Infogr.am。

    10K20

    60种常用可视化图表的使用场景——(上)

    跟折线图一样,面积图可显示某时间段内量化数值的变化和发展,最常用来显示趋势,而非表示具体数值。 两种较常用的面积图是分组式面积图和堆叠式面积图。...分组式面积图在相同的零轴开始,而堆叠式面积图则从先前数据系列的最后数据点开始。...推荐的制作工具有:D3、Datamatic、Datavisual、Infogr.am 17、堆叠式面积图 堆叠式面积图 (Stacked Area Graph) 的原理与简单面积图相同,但它能同时显示多个数据系列...当不同数量被分配到各个类别时,这些矩形的面积大小会与此数量成正比显示。...在南丁格尔玫瑰图中,代表数值的是分段面积,而不是其半径。 推荐的制作工具有:Datamatic、Infogr.am。

    1.1K10

    60种常用可视化图表的使用场景——(下)

    条形通常从中心点开始向外延伸,但也可以别处为起点以显示数值范围(如跨度图)。此外,条形也可以如堆叠式条形图般堆叠起来。 推荐的制作工具有:jChartFX、Bokeh。...可是,过多气泡会使图表难以阅读,但我们可以在图表中加入交互性功能来解决这个问题(点击或把鼠标悬停在气泡上以显示隐藏信息),也可选择重组或筛选分组类别。...、ZingChart 35、气泡地形图 在这种数据地图中,指定地理区域上方会显示圆形图案,圆形面积与其在数据集中的数值会成正比。...、Protovis、ZingChart、ZoomCharts 44、跨度图 也称为「范围条形/柱形图」或「浮动条形图」,用来显示数据集内最小值和最大值之间的范围,适合用来比较范围,尤其是已分类的范围。...在绘制记数符号图表时,将类别、数值或间隔放置在同一个轴或列(通常为 Y 轴或左侧第一列)上。每当出现数值时,在相应的列或行中添加记数符号。

    86310

    C++ Qt开发:Charts绘制各类图表详解

    1.1 创建柱状图柱状图(Bar Chart)用于显示各类别之间的数量关系。它通过在一个坐标系中绘制垂直的矩形条(柱)来表示数据。...它通过在一个圆形区域内绘制扇形来表示数据的相对大小。整个圆表示总体,而每个扇形的弧长(或面积)表示相应类别的数量或比例。...每个柱状图的高度表示该系列在该点上的数值,而整个柱状图的高度表示各个系列在该点上的累积总和。堆叠面积图(Stacked Area Chart):在同一类别或数值点上,将不同系列的面积图堆叠在一起。...每个面积图的面积表示该系列在该点上的数值,而整个堆叠面积图的高度表示各个系列在该点上的累积总和。堆叠图的优势在于能够直观地显示各部分在整体中的相对比例,并清晰地展示随时间或其他维度的变化。...这种图表类型通常用于比较多个系列的总体趋势,并强调各个系列之间的相对贡献。在堆叠图中,每个系列的数值贡献会在相同的数值点上叠加显示,使得读者能够更容易比较各系列的相对大小。

    4K00

    C++ Qt开发:Charts绘制各类图表详解

    1.1 创建柱状图 柱状图(Bar Chart)用于显示各类别之间的数量关系。它通过在一个坐标系中绘制垂直的矩形条(柱)来表示数据。...它通过在一个圆形区域内绘制扇形来表示数据的相对大小。整个圆表示总体,而每个扇形的弧长(或面积)表示相应类别的数量或比例。...每个柱状图的高度表示该系列在该点上的数值,而整个柱状图的高度表示各个系列在该点上的累积总和。 堆叠面积图(Stacked Area Chart):在同一类别或数值点上,将不同系列的面积图堆叠在一起。...每个面积图的面积表示该系列在该点上的数值,而整个堆叠面积图的高度表示各个系列在该点上的累积总和。 堆叠图的优势在于能够直观地显示各部分在整体中的相对比例,并清晰地展示随时间或其他维度的变化。...这种图表类型通常用于比较多个系列的总体趋势,并强调各个系列之间的相对贡献。在堆叠图中,每个系列的数值贡献会在相同的数值点上叠加显示,使得读者能够更容易比较各系列的相对大小。

    1.6K10

    28个数据可视化图表的总结和介绍

    每个元素根据其频率百分比持有圆的面积。 Exploded Pie Chart 展开饼图和饼图是一样的。在展开饼图中,可以展开饼图的一部分以突出显示元素。...Stacked Area Chart 堆叠面积图将几个区域序列叠加在一起进行绘制。每个序列的高度由每个数据点中的值决定。...Heatmap 热图是一个可以分为多个子矩形的矩形图,它用不同颜色表示不同的值/强度。...Treemap 矩形树图用嵌套的矩形形式显示层次数据。 高级数据可视化 这些图都比较复杂,一般情况下可能也不太常见,但是在处理特定任务时却非常好用。这里总结了10个相关的图表。...Word Cloud 在词云图中,所有的单词都被绘制在一个特定的区域,频繁出现的单词被高亮显示用较大的字体显示。

    2.3K31

    28个数据可视化图表的总结和介绍

    每个元素根据其频率百分比持有圆的面积。 Exploded Pie Chart 展开饼图 展开饼图和饼图是一样的。在展开饼图中,可以展开饼图的一部分以突出显示元素。...Stacked Area Chart 堆叠面积图将几个区域序列叠加在一起进行绘制。每个序列的高度由每个数据点中的值决定。...Heatmap 热图是一个可以分为多个子矩形的矩形图,它用不同颜色表示不同的值/强度。...Treemap 矩形树图用嵌套的矩形形式显示层次数据。 高级数据可视化 这些图都比较复杂,一般情况下可能也不太常见,但是在处理特定任务时却非常好用。...Word Cloud 在单云图中,所有的单词都被绘制在一个特定的区域,频繁出现的单词被高亮显示(用较大的字体显示。

    2.8K40

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

    浏览器中,我们应该能够使用我们的开发人员工具检查DOM或文档对象模型,并将鼠标悬停在SVG框上。...DOM时看到一个占据整个屏幕的矩形。...为了解决矩形的小尺寸,让我们乘以d返回的: .attr("height", function(d, i) {return (d * 10)}) 现在矩形的大小更大,但它们仍然从上到下显示...第四步 - 使用D3设置样式 我们将使用我们的CSS文件来设计我们的D3形状,但首先,为了使这项工作更容易,我们将在JavaScript文件中为我们的矩形提供一个类名,我们可以在CSS文件中引用它。...此外,我们可以通过在鼠标悬停时添加条形颜色样式来为我们的图表添加一些交互性: .bar:hover { fill: red } 现在,当我们将鼠标悬停在其中一个矩形上时,该特定矩形将变为红色: 或者

    22.4K30

    数据可视化设计指南

    占比图表包括: 1.堆叠的条形图 2.饼图 3.甜甜圈图 4.堆积的面积图 5.矩形树图 6.旭日图 相关性图表 相关性图表显示两个或多个变量之间的相关性。...面积图 面积图有几种类型,包括堆叠面积图和重叠面积图: 堆叠面积图显示了多个数据类别(在同一时间段内)彼此堆叠 重叠面积图显示了多个数据类别(在同一时间段内)彼此重叠 这两个图的区别在于堆叠面积图是各个类别数据叠加显示...取而代之的是,使用堆叠面积图来比较一个时间维度内的多个数据类别(水平轴表示时间)。 ? 允许。 使用堆叠面积图表示多个数据,能够保持良好的可读性。3个类别的数据堆叠显示 ? 禁止。...颜色用于表示地图中的数据值大小。 颜色突出显示某些关键数据 ? 颜色用于突出显示散点图中的特定数据。 聚焦关键数据 如果很少使用颜色,则可以突出显示重点区域。...显示数据注释(移动端) 在移动设备上,触摸长按的手势会在图表上方显示工具提示。 缩放和平移 缩放和平移是常见的图表交互,它们影响用户研究数据和浏览图表时UI的紧密程度。

    6.9K31

    原来使用 Pandas 绘制图表也这么惊艳

    数据可视化是捕捉趋势和分享从数据中获得的见解的非常有效的方式,流行的可视化工具有很多,它们各具特色,但是在今天的文章中,我们将学习使用 Pandas 进行绘图。...: 正如我们在图中看到的,title 参数为绘图添加了一个标题,而 ylabel 为绘图的 y 轴设置了一个标签。...默认情况下显示图例的图例,但是我们可以将 legend 参数设置为 false 来隐藏图例。 条形图 条形图是一种基本的可视化图表,用于比较数据组之间的值并用矩形条表示分类数据。...如果在同一个图中显示了多个面积图,则不同的颜色可以区分不同的面积图: df.plot(kind='area', figsize=(9,6)) Output: Pandas plot() 方法默认创建堆积面积图...此外,每个 hexbin 的颜色定义了该范围内数据点的密度。

    5.2K50

    二、基础平滑、面积折线图与折线堆叠、面积堆叠《手把手教你 ECharts 数据可视化详解》

    表示触发类型,此时你鼠标移动到坐标轴中那么就会出现提示框,这就是设置 trigger 为 axis 的作用,若你设置为 item 那么则只能在鼠标移动到数据项时才会触发提示框,数据项触发指的是你的鼠标移动到如下图位置时触发提示框...stack 堆叠 接下来就来讲解堆叠图表的重点 stack 配置,不过由于 stack 在折线图中可能没有柱状图这么明显,在此若不能很清楚含义的可以在之后讲到柱状图时再理解也可以。...此时我们观察官方示例其实并不能很好的了解堆叠的含义: 当我们查看官方的配置手册时,手册上给的解释为: 可能同学们第一眼看的不理解,那此时我们将多个系列的数据值(同一个 series 可以存在多个数据集...由此可见,配置项 stack: 'Total', 的作用就如同官方手册中的描述 “数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置”;其中堆叠指的是“货物堆放的方式展现相同值的数据...四、堆叠面积图 接下来咱们开始堆叠面积图的讲解,打开官方示例后点击堆叠面积图后点击进入: 此时整个 option 如下: option = { title: { text: 'Stacked

    3.2K20

    52个数据可视化图表鉴赏

    4.条形图 条形图是一种用矩形表示分组数据的图表,矩形条的长度与其表示的值成比例。可以垂直或水平绘制条形图。垂直条形图有时也称为折线图。图表的一个轴显示要比较的特定类别,另一个轴表示离散值。...22.甘特图 (不同产品在特定时间段是否完成装运) 甘特图是一种图表,其中一系列水平线显示在特定时间段内完成的工作量或完成的生产量与这些时间段内计划的工作量的关系。...26.地平线图 地平线图是一种功能强大的工具,用于在一个类别内的多个项目之间比较一段时间内的数据。...例如,如果我们要显示一年的数据,我们可以在图表上为每个月指定一种颜色。 48.流图 这种类型的可视化是堆叠面积图的一种变体,它不是针对固定的直轴绘制值,而是围绕变化的中心基线移动值。...流图通过使用流动的有机形状显示不同类别数据随时间的变化,这些形状有点像河流。这使得流图在美学上更令人愉悦,看起来更吸引人。 在流图中,每个单独流形状的大小与每个类别中的值成比例。

    6.6K21

    CAD常用基本操作

    《道德经》34.jpg CAD常用基本操作 1 常用工具栏的打开和关闭:工具栏上方点击右键进行选择 2 动态坐标的打开与关闭:在左下角坐标显示栏进行点击 3 对象捕捉内容的选择:A在对象捕捉按钮上右键点击...11 命令的查看:A 常规查看:鼠标移于工具栏相应按钮上查看状态栏显示 B 命令别名(缩写)的查看:工具→自定义→编辑程序参数(acad.pgp) 12 绘图中确定命令的调用:A 鼠标右键 B ESC...矩形命令:rectang(REC) A 指定另一个角点:@X,Y(直接输入下一个角点的相对坐标) B 尺寸(D):依次输入矩形的长宽,并需要移动鼠标指定矩形所在的象限 C 面积(A):先指定矩形面积,再依次指定长宽...(从左到右和从右到左选择的区别) 11 视图重生成命令:regen(RE) 绘图中无法进一步缩小或三维绘图中要重新显示隐藏线时可以使用上述命令 小提示:whiparc命令:1:每次实时平移,实时缩放都会自动重生成...偏移值:相同两点之间的距离,可以从图中选取 B 角度值也可从图中选取,通过选取两点指定 C 环形阵列使用中应该注意中心点的选择,同时应注意构造环形阵列而且不旋转对象时,要避免意外结果,最好手动设置基点(

    6.3K50

    Python中最常用的 14 种数据可视化类型的概念与代码

    ,其中每个堆叠条形显示其离散值占总值的百分比。...复合折线图也可以称作堆叠面积图,堆叠面积图和基本面积图一样,唯一的区别就是图上每一个数据集的起点不同,起点是基于前一个数据集的,用于显示每个数值所占大小随时间或类别变化的趋势线,展示的是部分与整体的关系...矩形条的高度高低交替。 面积图 它由线和轴之间的区域表示。面积与其代表的数量成正比。 这些是面积图的类型: 简单面积图 I在此图表中,彩色段彼此重叠。它们被放置在彼此之上。...它显示为点的集合。它们在水平轴上的位置决定了一个变量的值。垂直轴上的位置决定了另一个变量的值。当一个变量可以控制而另一个变量依赖于它时,可以使用散点图。当两个连续变量独立时也可以使用它。...但是可以通过增加一些交互行为弥补:隐藏一些信息,当鼠标点击或者悬浮时显示,或者添加一个选项用于重组或者过滤分组类别。另外,气泡的大小是映射到面积而不是半径或者直径绘制的。

    10.3K20

    Vega的交互式数据可视化

    关于它的最好的事情是 这些约束可以在构建数据可视化时感觉非常高效。 Vega-Lite也是一种高级语法,专注于快速创建常见的统计图形,今天将坚持使用Vega,这是一种更通用的工具。...来看看Vega的工作原理。 Vega概述 可以在Web上部署Vega,但在本教程中将简单地使用Vega编辑器。 使用Vega时,在JSON对象中定义可视化。开始构建一个条形图。...“marks”:[] 使用标记来使用几何图元(矩形,圆形,线条等)对数据进行编码。在此条形图中,使用Rect标记。需要一个给定的位置,宽度和高度。...出口时背衬的标记中的数据被删除,并且因此标记在离开视觉场景属性被评估“ 在"encode"属性中使用模式。...,矩形内的文本以及从每个矩形到轴的线。

    3.9K21

    在Mockplus中,如何做鼠标悬停时菜单下拉的效果?

    了解Mockplus的用户会知道,该原型工具目前并不直接支持鼠标悬停功能。...但我经过尝试,发现想用它实现一个鼠标悬停事件并不是什么难事,比如网页设计中很常见的鼠标悬停时菜单下拉的效果,只要换个思路,利用Mockplus的状态交互功能,就能轻松实现。...其中一个作为菜单的显示区域(图中蓝色矩形),另外几个拼接起来作为菜单的内容。 在右侧参数面板中,将第一个矩形设置为不可见。然后将另外几个矩形合并为组。 ?...第三步:利用状态交互,实现鼠标悬停时菜单下拉的效果。 在界面右侧的参数面板上,将透明度设置为0,并点击“透明度”前的小闪电。选择“鼠标经过时”,透明度设置为100。 ?...对于一个优秀的设计者来说,原型工具本身具备的功能并不是最重要的。功能越多,操作难度就越大,也越不容易上手。Mockplus是简单易用的原型工具,让设计师在简单而不受限的平台进行设计。

    2.7K60

    《七天数据可视化之旅》第四天:数据图表的选择(下)

    3.矩形树图 在分布型数据可视化中讲到过,矩形树图适合具有「树状结构」的层级关系数据的可视化,它通过「面积」来映射数据大小或者数据占比,通过颜色来区分类别。...且当矩形树图有多级结构时,通常需要一些交互来辅助数据细节的展示,如鼠标悬停显示实际数或占比、单击某个类别区域进入该类别细分视图、单击面包屑返回指定层级等。 ?...节点关系图,主要有如下几个要素: 节点: 表示一个对象,常用圆形、方形等形状来表示,有时还会在节点内显示对象图片等信息; 联系: 如果两个节点之间有联系,则使用线段连接,线段上通常会有关系说明; 方向:...当既要显示不同地理区域某一指标的数据总量,同时又要显示各地区某一指标总量的各构成部分占比时,可以使用「地图+饼图」结合的方式来进行可视化。...和普通的堆叠柱状图相比,「地图+饼图」可以显示更多的数据项,同时更加直观的展示数据和地理位置的关联性。

    90230

    你知道怎么用Pandas绘制带交互的可视化图表吗?

    :如果 True 悬停工具处于活动状态,否则如果为 False 则不绘制悬停工具 hovertool_string:如果指定,此字符串将用于悬停工具(@{column} 将替换为鼠标悬停在元素上的列的值...(上图中我们绘制的是2017年的数据),则无需对y赋值,结果会嵌套显示在一个图中: df_pie.plot_bokeh.pie( x="Partei", colormap=["blue"...直方图 在绘制直方图时,有不少参数可供选择: bins:确定用于直方图的 bin,如果 bins 是 int,则它定义给定范围内的等宽 bin 数量(默认为 10),如果 bins 是一个序列,它定义了...也可以传递一个整数,例如normed=100将导致带有百分比 y 轴的直方图(直方图值的总和 = 100),默认值:False cumulative:如果为 True,则显示累积直方图,默认值:False...面积图 面积图嘛,提供两种:堆叠或者在彼此之上绘制 stacked:如果为 True,则面积图堆叠;如果为 False,则在彼此之上绘制图。

    4.1K30
    领券