【问题标题】:change x-axis label on zooming with date使用日期缩放时更改 x 轴标签
【发布时间】:2012-11-15 08:13:31
【问题描述】:

我有一个包含许多数据的图表,更准确地说是每天存储的大量数据(这对用户来说看起来不太好,标签太多)。

更准确地说,数据以这种方式存储在数据库中: 日期(格式为 YYYY - MM - DD)- 数据。

我想做的是使用 x 轴标签(例如)进行默认缩放(包含大量数据)几周,但有一次用户放大它会自动更改为几天。

有人知道我该怎么做吗?

也许这是一个好的开始:

xAxis: {
    type: 'datetime',
    dateTimeLabelFormats: {
        day: '%e of %b'   
    }
},

series: [{
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
    pointStart: Date.UTC(2010, 0, 1),
    pointInterval: 24 * 3600 * 1000 // one day
}]

在这里找到:http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/xaxis/datetimelabelformats/

编辑

我想展示的是,例如,当有周“缩放”时的平均值,当用户放大(在天视图中)有准时值时。仅使用一个系列(因为此图上有多个系列)。

【问题讨论】:

  • 所以,澄清一下:缩小时,您希望显示与放大时不同的数据(平均值与实际数据)?你想要这个在一个系列中吗?
  • @NT3RP 没错,如果有一种方法可以在缩小(或在默认视图中)可以“即时”计算 n_elementes 的平均值并将其放置在视图中(可能无需刷新页面),然后在放大时有实际数据。
  • 再一次,我知道如何用“解决方法”解决它(例如单独计算平均值或使用刷新页面时更改图表上的系列的“按钮”),但我想了解是否有“即时”执行此操作的方法

标签: highcharts


【解决方案1】:

我认为最好的办法是使用 Highcharts 网站上的 time-series demo 工作,因为它涵盖了时间序列数据和可缩放数据,不会因过多的标签而使图表超载。

编辑:
针对提供的其他详细信息,我不认为 highcharts 旨在在放大/缩小时显示不同的数据。它只会按原样显示可用数据。

如果您希望能够在缩放时调整该数据的视图,我的建议是:

  • selection event 添加一个监听器并且;
    • 创建一个新的临时系列,隐藏旧系列并显示新系列,或者;
    • 通过重新计算值来更改现有系列
  • 对平均数据有一个单独的系列,并且可以在完整数据和平均数据之间切换。

这不是您要寻找的答案,但我认为没有其他方法可以实现您想要的。

【讨论】:

  • +1 用于说明可能的解决方案。但就我而言,我想展示的是一个系列,在周视图中具有平均值,在天视图中具有准时数据。也许我在问题中没有给出很好的解释,我编辑它。
猜你喜欢
  • 2015-01-08
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 2013-11-16
  • 2017-04-09
  • 1970-01-01
  • 2021-10-11
  • 2016-02-18
相关资源
最近更新 更多