放大和缩小按钮 - highcharts

2023-12-09

我在气泡图中有自定义缩放按钮(放大、缩小)。当用户单击“放大”按钮时,应该在图表中从左到右进行缩放。类似地,缩小应该以这种方式发生,这与立即发生缩小的重置缩放功能相反。

小提琴链接:https://jsfiddle.net/abcdlearner/dz4awe0y//** * 一个 Highcharts 插件,用于在图表外部的单独容器中显示工具提示 * 边界框,以便它可以利用页面中的所有可用空间。 */

(function(H) {
  H.wrap(H.Tooltip.prototype, 'getLabel', function(proceed) {

    var chart = this.chart,
      options = this.options,
      chartRenderer = chart.renderer,
      box;

    if (!this.label) {

      this.renderer = new H.Renderer(document.body, 0, 0);
      box = this.renderer.boxWrapper;
      box.css({
        position: 'absolute',
        top: '-9999px'
      });
      chart.renderer = this.renderer;
      proceed.call(this, chart, options);
      chart.renderer = chartRenderer;

      this.label.attr({
        x: 0,
        y: 0
      });
      this.label.xSetter = function(value) {
        box.element.style.left = value + 'px';
      };
      this.label.ySetter = function(value) {
        box.element.style.top = value + 'px';
      };
    }
    return this.label;
  });

  H.wrap(H.Tooltip.prototype, 'getPosition', function(proceed, boxWidth, boxHeight, point) {
    var chart = this.chart,
      chartWidth = chart.chartWidth,
      chartHeight = chart.chartHeight,
      chartPlotWidth = chart.plotWidth,
      chartPlotHeight = chart.plotHeight,
      pos;
    point.plotX += this.chart.pointer.chartPosition.left;
    point.plotY += this.chart.pointer.chartPosition.top;

    // Temporary set the chart size to the full document, so that the tooltip positioner picks it up
    chart.chartWidth = $(window).width();
    chart.plotWidth += chart.chartWidth - chartWidth;
    chart.chartHeight = $(document).height();
    chart.plotHeight += chart.chartHeight - chartHeight;

    var pos = proceed.call(this, boxWidth, boxHeight, point);

    chart.chartWidth = chartWidth;
    chart.plotWidth = chartPlotWidth;
    chart.chartHeight = chartHeight;
    chart.plotHeight = chartPlotHeight;

    return pos;
  });

  /**
   * Find the new position and perform the move. This override is identical
   * to the core function, except the anchorX and anchorY arguments to move().
   */
  H.Tooltip.prototype.updatePosition = function(point) {
    var chart = this.chart,
      label = this.label,
      pos = (this.options.positioner || this.getPosition).call(
        this,
        label.width,
        label.height,
        point
      );

    // Set the renderer size dynamically to prevent document size to change
    this.renderer.setSize(
      label.width + (this.options.borderWidth || 0),
      label.height + this.distance,
      false
    );

    // do the move
    this.move(
      Math.round(pos.x),
      Math.round(pos.y || 0), // can be undefined (#3977)
      point.plotX + chart.plotLeft - pos.x,
      point.plotY + chart.plotTop - pos.y
    );
  };

}(Highcharts));


$('.container').each(function(i, v) {
  $(v).highcharts({

    chart: {
      type: 'column',
      inverted: true,
      borderWidth: 1
    },

    title: {
      text: 'Tooltip outside the box'
    },

    xAxis: {
      categories: ['Jan', 'Feb', 'Mar', 'Apr']
    },

    legend: {
      enabled: false
    },

    series: [{
      name: 'Really, really long series name 1',
      data: [1, 4, 2, 3]
    }, {
      name: 'Really, really long series name 2',
      data: [4, 2, 5, 3]
    }, {
      name: 'Really, really long series name 2',
      data: [6, 5, 3, 1]
    }, {
      name: 'Really, really long series name 2',
      data: [6, 4, 2, 1]
    }]

  })
});

Use axis.setExtremes()方法放大到特定区域。

$('#zoom').click(function() {
  chart.xAxis[0].setExtremes(1327449600000,1422144000000, false)
  chart.yAxis[0].setExtremes(10, 20)

example https://jsfiddle.net/nhajopys/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

放大和缩小按钮 - highcharts 的相关文章

  • 将 Highcharts 导出为 PDF(使用 javascript 和本地服务器 - 无互联网连接)

    我在我的应用程序中使用 Highcharts 没有任何互联网连接 我的 html 页面上有多个图表 我想生成一个包含该页面中所有图表的 PDF 报告 我怎样才能做到这一点而不将数据发送到互联网上的任何服务器 我将感谢您提供的任何帮助或任何示
  • Highcharts.js 中的列之间的空间

    我有一个柱形图 其中对于每个 X 值我有两个系列 但该图显示每个 X 值之间的间距很宽 在 Highchart 中如何使列和 y 轴之间有 1px 的空间 Update pointPadding 0 2 to pointPadding 0
  • 为什么有些网站在 iPad 上无法缩放?

    有谁知道为什么 iPad 缩放 你知道 你用两根手指放大文本 屏幕 在某些网站上不起作用 例如 脸书网 c3 arc nasa gov nex 我正在工作的网站 谷歌搜索没有显示任何内容 这让我认为这不是一个常见问题 预先感谢您的任何见解
  • Highcharts - 使用选定的饼图切片获得 3D 效果

    在 highcharts 中 我试图使当用户选择或将鼠标悬停在饼图的切片上时 该切片会产生沿 z 轴 朝向用户 上升的效果 我试图通过 css 设置阴影过滤器并使切片的边框更宽 填充颜色相同 来实现此目的 然而 我面临的问题是切片仍然可以位
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • Highcharts 蜘蛛网标签重叠(顶部和底部)

    我使用 highcharts 创建了蜘蛛网图表 但我在最顶部和最底部的标签中发现了重叠的标签 我尝试包裹它们 也尝试交错标签 但我无法阻止它们重叠 function spiderchartFull highcharts chart pola
  • 自定义工具提示并将数字格式设置为 Highcharts 的小数点后 2 位

    我正在使用 Highcharts 图表来显示饼图 我想更改工具提示以显示实际的data字段以及系列名称来代替百分比值 这是 jsFiddle 上的示例 http jsfiddle net ha3tX 如果你检查上面的示例 你会发现两件事 工
  • 高图表列标签

    我制作了一个包含分组和堆叠列的 Highcharts 图表 如此处的示例所示 http www highcharts com demo column stacked and grouped http www highcharts com d
  • Android 上谷歌地图的缩放事件

    我们正在构建一个使用 Android 版谷歌地图 API 的应用程序 我有我的 MapController 和 MapView 并且我使用以下方法启用内置缩放控件 mapView setBuiltInZoomControls true 我现
  • Highcharts 问题 - 在可缩放图表中显示标签

    我有一个缩放柱形图 xAxis 中有 200 多个类别 因此 当它处于初始状态 比例1 1 时 所有这些家伙都显示在X轴下方 即使我将它们垂直放置 也无法读取任何内容 我需要缩放图表以使标签可见 Here s screenshot of t
  • highcharts图表重绘方法不刷新图表

    我很好奇为什么按钮 2 不起作用example http jsfiddle net uKWQ9 1 在这个 jsfiddle 示例中 附加到按钮 1 的 更新 方法正在工作 但在我的原始代码中 更新 也不起作用 它显示错误 对象 没有方法
  • 以编程方式触发 highchart 散点图上某个点的单击事件

    实际上 我有一个小要求 其中有一个带有点列表和下拉列表的散点图 当我从下拉列表中选择一个项目时 应触发其相应的数据点单击 当我在图表上选择一个数据点时 必须执行一些操作 并且下拉列表应根据选择进行更新 我们有什么办法可以做到这一点吗 我尝试
  • Highcharts 3.0 气泡图——控制气泡大小

    在 Highcharts 3 0 中 可以创建 气泡 类型的图表 而在 3 0 之前 必须使用 散点 图表并修改标记大小才能制作气泡图 旧方法的好处是您可以完全控制每个气泡的可见像素半径 新的气泡图会自动调整气泡的大小 以便它们相对于彼此调
  • 如何将多个数据系列导入 Highcharts

    以下代码有效 var options1 chart renderTo container1 series getJSON tokyo jsn function data options1 series 0 data data var cha
  • 如何使用大型数据集绘制树状图?

    我在 R 中使用 ape 系统发育和进化分析 包 它具有树状图绘制功能 我使用以下命令读取 Newick 格式的数据 并使用绘图函数绘制树状图 library ape gcPhylo lt read tree file gc tree pl
  • 条形图的 Highcharts 背景图像

    我想使用 Highcharts 将背景图像添加到条形图并将其显示在UIWebView 到目前为止 我一直在使用这个小插件 它在最新的 Chrome 中运行良好 但是 一旦我将其加载到 UIWebView 中 图像就不会显示 我认为这与iOS
  • Highcharts 对堆积条形图进行排序

    我没有看到任何与我在 Highcharts 中遇到的确切场景相匹配的解决方案 因此我将我的发现发布在这里 我在 Highcharts 中有一个堆积条形图 需要按值从大到小对条形图进行排序并维护它们的类别关系 通常 首选解决方案是在将数据发送
  • 使用 highcharts 时,为什么 Bootstrap 选项卡显示宽度不正确的选项卡窗格 div?

    因此 我正在使用 Twitter 的 Bootstrap 创建一个包含选项卡式内容的页面 但我的起始活动 div 的内容始终与其他选项卡的内容不同 例如 我在不同的选项卡中使用 highcharts js 放入图表 但活动选项卡始终显示正确
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 如何在C#中创建对象?

    我想将以下 VB6 代码翻译成 C If optHost 0 Value Then Set m oScpiAccess New IcSCPIActiveX IcSCPIAccess Else sHost txtHost Text Set m
  • 在 iOS 上存储对象 - 最佳解决方案?

    我正在为博客构建一个应用程序 用户可以在其中保存他们最喜欢的帖子 当他们这样做时 我想存储我的对象 其中包含 帖子的 URL 标题和图像 URL 我应该去吗UserDefaults 以前NSUserDefaults 或开始于Core Dat
  • 如何使用 Neo4j 在 Spring Data Rest 中自定义自身、父级、子级链接

    我正在使用 Spring Data Rest 通过 Neo4j 创建 API 我不想在 URL 中公开 nodeId 因此我有一个 UUID 更多信息请参见此处 如何将 neo4j Id 更改为 UUID 并使查找器方法正常工作 如何修改
  • 基于两个因素的减法

    我的数据框看起来像这样 group lt c A A A A B B B B C C C C C C value lt c 3 6 1 4 4 9 type lt c d d e e g g e e d d e e f f df lt cb
  • 如何将Excel日期格式转换为R中的正确日期

    我正在使用 csv 不幸的是 它使用 42705 的数字格式记录了日期时间 尽管它应该是 01 12 2016 我想使用 lubridate 或其他一些包将其转换为 R 中正确的格式 有没有一个函数可以处理它 你不需要使用lubridate
  • Nginx 显示 php 代码而不是执行

    我已经在用 Node js 制作的 nginx 上运行应用程序 工作正常 现在我必须在同一个 nginx 上运行 php 应用程序 我在这里写下我的配置文件供您阅读 当我加热 http 192 168 1 201 3002 在我的 chro
  • PHP:用逗号分隔数组[重复]

    这个问题在这里已经有答案了 我有这段代码 应该显示数组中的值列表 后跟逗号和空格 但是我不希望最后一个后面有逗号和空格 例如我想要tag1 tag2 tag3代替tag1 tag2 tag3 这是我的代码
  • 使用 .net 正则表达式替换字符串中的文本

    我尝试在 net 中使用 regexp 来查找字符串并用某些标记替换字符串 例如 myString 这是我想要更改 和 的文本示例 我如何找到带有 之间标记的文本 并为每个文本执行一些操作来替换它 在数据库中搜索并替换任何找到的匹配项 我想
  • Python 3.x 中的 as 命令有什么作用?

    看过很多次但一直不明白是什么意思as命令在 Python 3 x 中执行 你能用简单的英语解释一下吗 它本身不是命令 而是用作命令一部分的关键字with陈述 with open myfile txt as f text f read 之后的
  • 如何查找使用 TextChanged 添加的文本

    我希望在文本框中的文本和变量中的字符串之间进行同步 我找到了如何获取更改字符串的索引 在文本框中 添加的长度和删除的长度 但如何才能真正找到添加的字符串 到目前为止 我已经使用了 TextChangedEventArgs Changes 并
  • 在 WPF 中动态生成的 DataGrid.Columns 中显示图像

    我必须从查询中转换信息数据 并根据从底层数据库读取的值显示图像 假设我的查询中有这些数据 Identifiant ProcessId AlarmLevel BOUDA25 100 1 BOUDA25 110 1 BOUDA25 130 1
  • 如何在ng-repeat中动态更新ng-model?

    我在我的角度页面中面临动态 ng model 值的一些问题 这是我的示例 JSON mytabs name tab1 values value value1 value value2 value value3 value value4 na
  • 引起原因:使用 lombok 时 java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags

    我在 pom xml 中有以下依赖项
  • Excel VBA ADO SQL - From 子句中的语法错误

    VBA ADO 中的以下 SQL 给出 From 子句中的语法错误 错误 Sub RunSQL2 Dim cn As ADODB Connection Dim rs As ADODB Recordset Dim strFile As Str
  • 如何编辑一篇博客文章而不是其他博客文章的 CSS 以获得 5 星级评级系统?

    我最近创建了我自己的博客使用 Google 的 Blogger 当我读完一本特定的书时 我有一个本书的我读过的部分我想要一个静态的地方5星评级系统代替某种形式 也许与CSS 我可以定位每本书 这样我就能够显示1 至 5 星供访客查看 我不知
  • 将 std::mutex 用于由 boost::asio 管理的线程池

    不知何故的后续这个问题 我只是想知道是否可以使用std mutex在由 a 处理的函数中boost asio io service 使用股线是有点不切实际的 从我在升压参考我会说没关系 既然它指出 异步完成处理程序只会从当前正在调用 io
  • 下单后如何获取盈透证券(IBPY)的交易价格和佣金?

    http interactivebrokers github io tws api 也许是一个有用的链接 这张图片来自盈透证券的java API指南 我想要的数字是交易日志中的价格和佣金 from ib opt import Connect
  • Javascript 检测用户是否更改选项卡

    我正在编写一个用于在线测验的网页 我的基本要求是 如果用户更改选项卡或打开新闻窗口 即使没有最小化其浏览器 即如果该人试图从其他窗口 选项卡查看答案 它也必须触发一个事件 停止测验 我怎样才能做到这一点 Note 尽量避免在您的答案中包含前
  • 如何让 Google Cloud Functions 保持温暖?

    我知道这可能会错过使用 Cloud Functions 的初衷 但在我的具体情况下 我使用 Cloud Functions 是因为这是我将 Next js 与 Firebase Hosting 桥接的唯一方法 我不需要使其具有成本效益 等等
  • 放大和缩小按钮 - highcharts

    我在气泡图中有自定义缩放按钮 放大 缩小 当用户单击 放大 按钮时 应该在图表中从左到右进行缩放 类似地 缩小应该以这种方式发生 这与立即发生缩小的重置缩放功能相反 小提琴链接 https jsfiddle net abcdlearner