【问题标题】:jQuery jqPlot library 12 hour Time Y-Axis Inversion issuejQuery jqPlot 库 12 小时时间 Y 轴反转问题
【发布时间】:2011-09-18 20:34:02
【问题描述】:

我最近开始使用 jqPlot。生成的图表看起来很棒,我喜欢它。这里和那里有一些小东西要学,但总的来说很棒。

我正在使用堆叠条生成并遇到了一个奇怪的问题。基本上,我想要 Y 轴上从 0 到 24 小时的 12 小时时间,X 轴上的天数,并在图表上绘制特定活动的秒数。而且,我希望天(午夜)从图表顶部开始,然后到达底部。

我可以使用“min”和“max”的倒数轻松翻转数据,但是当我尝试翻转刻度时会出现问题;本质上是“时间”。

我的系列默认设置为隐藏轴:

seriesDefaults: {
    renderer: $.jqplot.BarRenderer,
    yaxis: 'y2axis'
},

我放了一个占位符系列(值全为 0,例如:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] ) 与单独的 yaxis 关联以绘制日期刻度:

series: [
    { show: true, yaxis: 'yaxis', }
],

我可以通过更改默认 y 轴上的最小值和最大值并将其隐藏来翻转值:

y2axis:{
    min: 24,
    max: 0,
    showTicks: false
}

然后我设置刻度,并使用 DateAxisRenderer 格式化它们:

yaxis:{
    renderer:$.jqplot.DateAxisRenderer,
    ticks: ['0', '2', '4', '6', '8', '10', '12', '14', '16', '18', '20', '22', '24'],
    tickOptions: { formatString: '%I:%M %p' }
}

这将创建一个 y 轴,时间从上午 12:00 到下午 12:00 再到上午 12:00,采用该格式。但从图表底部开始按升序排列。

显然,翻转“yaxis”上的最小值和最大值不会有任何效果,因为只有占位符值,而且它只会翻转值。我将如何翻转轴值,以便时间(从底部)24、22、20...等等,等等?

提前感谢您的帮助。

【问题讨论】:

    标签: javascript jquery jquery-plugins jqplot time-format


    【解决方案1】:
    1. 替换:

      ticks: ['0', '2', '4', '6', '8', '10', '12', '14', '16', '18', '20', '22', '24']
      

      与:

      ticks: ['24', '22', '20', '18', '16', '14', '12', '10', '8', '6', '4', '2', '0']
      
    2. 替换:

      y2axis:{
          min: 24,
          max: 0,
          showTicks: false
      }
      

      与:

      y2axis:{
          min: 0,
          max: 24,
          showTicks: false
      }
      

    这将正常排序 y 轴,但使用反向刻度序列。

    【讨论】:

    • 哦,哇!我一直在玩这个,但没有让它工作。这是诀窍!太感谢了。另外,如果您不介意,我还有另一个问题,在 chrome 上,刻度都聚集在顶部,您知道如何处理吗?再次感谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多