Amcharts 4,xychart,限制工具提示的数量并将信息合并到一个工具提示中

2023-12-02

我正在使用 amcharts 4 显示温度线。有时有很多站,所以我希望只有一个工具提示,并且只针对光标所在的值,而不是每一行都有一个工具提示(因为这样它们会重叠,有些是不可读的)。

multiple tooltips

并且可能有多个站具有相同的温度,因此我必须在工具提示中列出所有这些站。

有人知道如何实现这一目标吗?

在 amcharts 3 中,我使用附加到图表的气球函数来创建我自己的工具提示。但我还没有找到如何在 amcharts 4 中使用该系列。

谢谢你的提示!


正如 David Liang 提到的,由于所有数据项都沿着其 x 轴值(在本例中为日期时间)收敛,因此您可以通过仅设置一个系列来将工具提示限制为一个tooltipText,并且它将可以通过访问其余的数据字段数据占位符。例如。虽然series1's value场是E852_t4m,它可以使用series30的值只需放入"{median_tBel}".

但是,如果您希望根据鼠标悬停在哪一行上获得工具提示,则如何做到这一点取决于您是否需要图表光标。

如果不需要,只需设置tooltipText在线的项目符号上,例如

series1.bullets.getIndex(0).tooltipText = "{name} {valueY}°C";

这是一个演示你的小提琴接着就,随即:

https://codepen.io/team/amcharts/pen/803515896cf9df42310ecb7d8d7a2fb7

但如果您需要图表光标,遗憾的是目前没有支持的选项。有一种解决方法,但这不是最好的体验。您从执行上述操作开始。图表光标将触发所有线条及其项目符号的悬停效果,包括触发其工具提示。项目符号的工具提示实际上是它的系列'(series1.bulletsContainer.children.getIndex(0).tooltip === series1.tooltip)。如果我们删除对项目符号工具提示的引用,例如series1.bullets.getIndex(0).tooltip = undefined;,图表将检查链条并引用系列。如果我们对这个系列做同样的事情'tooltip,它会沿着链条上升到chart.tooltip,如果我们对所有系列都这样做,我们基本上会变成chart.tooltip变成某种单例行为。但它对鼠标悬停的响应不那么灵敏。

您将通过这个演示明白我的意思:

https://codepen.io/team/amcharts/pen/244ced223fe647ad6df889836da695a8

哦,同样在上面,您必须调整图表的工具提示以显示在项目符号的左侧/右侧:

chart.tooltip.pointerOrientation = "horizontal";

Edit:

由于第一种方法足够了,我更新了它adapter检查范围内的其他字段。在适配器中,target将是CircleBullet, target.dataItem.valueY是当前悬停的值,并且target.dataItem.dataContext是同一日期的其他字段。

我是这样修改的tooltipText显示当前悬停项目符号 +/-0.5C 范围内的其他系列:

// Provide a range of values for determining what you'll consider to be an "overlap"
// (instead of checking neighboring x/y coords.)
function inRange(valueA, rangeA, rangeB) {
  return valueA >= rangeA && valueA <= rangeB;
}

// Provide adapters for tooltipText so we can modify them on the fly
chart.series.each(function(series) {
  series.bullets
    .getIndex(0)
    .adapter.add("tooltipText", function(tooltipText, target) {
      // the other data fields will already match on the date/x axis, so skip
      // the date and this bullet's data fields.
      // (target.dataItem.component is the target's series.)
      var skipFields = ["date", target.dataItem.component.dataFields.valueY];
      // this bullet's value
      var hoveredValue = target.dataItem.valueY;
      // all the other data fields at this date
      var data = target.dataItem.dataContext;
      // flag for adding additional text before listing other nearby bullet values
      var otherPoints = false;
      Object.keys(target.dataItem.dataContext).forEach(function(field) {
        // if the field is neither date, nor bullet's
        if (!~skipFields.indexOf(field)) {
          if (inRange(data[field], hoveredValue - 0.5, hoveredValue + 0.5)) {
            if (!otherPoints) {
              tooltipText += "\n\nOthers:";
              otherPoints = true;
            }
            // Keep {data placeholder} notation to retain chart formatting features
            tooltipText += "\n" + field + ": {" + field + "}°C";
          }
        }
      });
      return tooltipText;
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amcharts 4,xychart,限制工具提示的数量并将信息合并到一个工具提示中 的相关文章

  • 使 CSS 工具提示跟随光标

    我正在创建一个基于 CSS 的工具提示 该工具提示中将包含大量内容 而不是处于静态位置 我想知道是否有一种简单的方法可以使其在将鼠标悬停在链接上时跟随光标 这是基于 CSS 的工具提示示例 div class couponcode Firs
  • 如何让工具提示在 IE 中显示时间更长

    我得到以下内容 span title 在 Firefox 中 工具提示会一直停留在那里 直到鼠标移动 但在 IS 中 它只停留大约 5 秒 然后消失 有没有办法让它持续更久 没有内置的浏览器工具提示 不 有大量类似工具提示的 UI 组件使用
  • 气球弹出 WPF

    我需要显示一个气球弹出窗口 WPF中有针对此类工作的控件吗 像下面这样
  • Vuetify,工具提示:“on”和“attrs”有什么用?

    我在 Vuetify 文档中查找 Tooltip 找到了这个示例
  • 将 DataGridCell ToolTip 属性绑定到 DataGridCell 的值

    I have DataGrid和其中之一DataGrid列看起来像这样
  • 如何让 javascript 生成标题工具提示以显示 SVG

    我正在尝试获取 SVG 元素的工具提示 在 Firefox 16 0 2 下测试 我尝试了这个小例子 它工作正常
  • jquery 插件:使用 live() 的工具提示插件

    我需要一个依赖于 live 方法而不是普通的 hoever 和 mousemove 的工具提示插件 只是创建了我自己的插件monnaTip http gadelkareem com 2010 02 25 jquery plugin monn
  • jsf 中每个 SelectOneMenu 项的工具提示

    我的要求是提供一个tooltip对于每个选项SelectOneMenu因为选项标签太大 不可能提供这么大尺寸的 SelectOneMenu 所以 标签正在切割 这就是为什么我需要工具提示来显示 鼠标悬停在 SelectOneMenu 中的选
  • 如何以编程方式访问 Silverlight FrameworkElement 的 ToolTipService?

    我们有一种语言机制 可以在加载 XAML 页面时递归遍历它们 检查每个元素的 Tag 属性 并使用其值来检索要应用于该元素的字符串资源 它目前不支持工具提示 我们必须在每个页面上都有特定的代码才能将语言资源应用于它们 我正在尝试将此功能添加
  • Google 气泡图自定义工具提示列不呈现

    我正在尝试将自定义工具提示添加到气泡图中 以替换默认的工具提示 我已按照文档网站的说明进行操作 here https developers google com chart interactive docs customizing tool
  • 表格中超级简单的 CSS 工具提示,为什么它不显示,我可以让它工作吗?

    我一直在尝试为我的客户在此页面上实现许多不同的工具提示 他坚持认为 当您将鼠标悬停在订单页面中的产品名称上时 我们会显示产品图片 我决定使用超级简单的 CSS 工具提示 它非常容易实现并且完全符合我们的要求 它适用于动态页面 而我尝试过的其
  • JQuery 工具提示 VS JQuery UI 工具提示 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在视口中保留绝对定位的元素(jquery)

    我现在正在开发一个带有很多工具提示的网站 我想确保工具提示始终完全显示在视口中 我知道有工具提示插件 但它们对我不起作用 因为工具提示是通过 css 完成的 而且我不能全部更改 任何想要获得工具提示的元素都会被赋予一个position re
  • 工具提示弹出窗口内的 Bootstrap 输入字段已从输出 html 中删除

    您好 我正在使用 bootstrap 4 3 1 并包含 popper 1 14 7 通常我可以在弹出窗口 工具提示的内容中添加输入字段 我从什么时候开始就不知道了 但是当我将输入字段放入内容中时 只有文本可见 当我查看源代码 编译后的 h
  • amchart 访问结构化数据对象内的值

    如何向 AMchart 中的 json 对象添加额外数据 当我的 obj 很简单时 所有内容都会解析 var data year 1930 italy 4 germany 5 1 uk 3 year 1934 italy 1 germany
  • Twitter Bootstrap Popover/Tooltip Bug 与移动设备有关吗?

    我正在使用 Twitter Bootstrap 在 iPad 和 iPhone 上测试时遇到了无法修复的问题 在移动设备 至少是这些设备 上 您需要单击以接合提示或弹出框 如预期 问题是一旦关闭就永远无法关闭 我添加了一个侦听器 以便在您再
  • 设置引导工具提示上的箭头样式[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式设置工具提示样式 tooltip inner 但我遇到了麻烦 因为我找不到如何设置工具提示小箭头的样式 如屏幕截图所示 工具提示的箭头是黑色的 我想在其上添加新颜色 any suggesti
  • 如何在 jQueryUI 工具提示中换行

    新版本的 jQueryUI 1 9 附带了本机工具提示小部件 经过测试 如果内容 标题属性的值 很短 它就可以正常工作 但如果内容很长 工具提示一旦显示就会与输入文本重叠 有a demo http jqueryui com tooltip
  • 修复 Raphaël 路径节点上 Tipsy 工具提示的位置

    这是一个非常具体且有些复杂的问题 所以我设置了一个最小测试用例 http reveal dk 8080 revealit dk tipsytest 在阅读本文的其余部分之前 您可能应该先了解一下 我的页面显示悬停时突出显示区域的图像Raph
  • 如何将图像添加到 jquery 工具提示

    我还没有看到这个确切的问题得到解决 如果有 请指出它 我正在使用 jquery 的 ui 工具提示 我有一个链接 当您将鼠标悬停在它上面时 我想显示一张图像 到目前为止 没有什么对我有用 标题中的 ui 代码 HTML see a a

随机推荐