【问题标题】:Chartjs: update the min and maximum of the yaxes ticks on a clickChartjs:单击时更新 yaxes 刻度的最小值和最大值
【发布时间】:2017-12-27 08:18:54
【问题描述】:

我正在使用 chartjs 绘制折线图。我正在动态制作这些图表,根据不同的数据类型,可以有 2 到 10 个图表。现在我想在单击按钮或文本时更新图表。此更新将更改y-axes ticksminmax。我已经尝试通过这样做在一个图表上的 javascript 控制台中执行此操作

myChart.options.scales.yAxes[0].ticks.min=some_value;

myChart.update();

但问题是当我单击文本或按钮时如何更改它。我必须创造一个传奇吗?

这是我的jsfiddle 用于测试运行。

我们将不胜感激任何形式的帮助。

【问题讨论】:

    标签: chart.js chart.js2 chartjs-2.6.0


    【解决方案1】:

    你可以使用 jQuery:

    • 添加jQuery library
    • 加个按钮,我加了<button id="action">action</button>
    • 添加一个在点击时执行 2 行的 jQuery 触发器:

    $('#action').off().on('click', function() { myLineChart.options.scales.yAxes[0].ticks.min = -50; myLineChart.update(); })

    见:https://jsfiddle.net/gdqkLtc2/3/

    【讨论】:

    • 实际上我正在考虑在图表中添加一些东西,以便它可以自动更新该特定图表实例。正如我在问题中所说,可能有 2 到 10 个图表。
    • 我已经尝试过你的解决方案,我遇到的一个问题是如何恢复,我的意思是我想在 min 和默认值之间切换。
    • @fatpotato 要切换值,您需要一个额外的变量来保存可能的值,另一个变量来指示要显示的索引。看看:jsfiddle.net/gdqkLtc2/4。关于您与添加 2 到 10 个图表相关的第一个问题。我不太确定您使用的是哪种框架,但为什么不简单地复制粘贴当前的 HTML,然后填充每个图表呢?我建议用 10 个图表构建界面,然后只显示需要的图表。
    • 是的,我已经通过在每个按钮上应用一个唯一属性来解决这个问题,该属性会提供点击图表的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2022-08-08
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多