【问题标题】:JQPLOT bar graph rangeJQPLOT 条形图范围
【发布时间】:2016-08-31 10:28:35
【问题描述】:

我使用 jqplot 创建了一个动态条形图,问题是一些值非常大,即 10000000,而另一些非常小,即 2000 或 10000。由于这个范围问题,我只能看到更大的值图而其余的甚至不会出现或仅显示为轴上的一条线。

有人可以告诉我如何解决这个范围问题吗?

【问题讨论】:

  • 使用对数刻度?
  • 您有一个比另一个小 5000 倍的条形图。与更大的酒吧相比,它的大小可以忽略不计。只是为了演示,如果较大的条有 1 米长,较小的只有 0.02 厘米长……您理解,从数学上讲,较小的条的表示确实是轴上的一条线。 Graph tip - Don't use a log scale on a bar graph!
  • 是的 Alon_A,我明白为什么它会在轴上出现一条线。但是考虑到我必须显示某种形式的信息,你不认为我不应该将它显示为轴上的一条线。我在想是否有办法以某种方式显示较小的值栏
  • 我想用 JQPLOT 实现这个

标签: javascript jqplot


【解决方案1】:

根据我的评论,您需要实现包含 jqplot 条形图的解决方案,我建议通过在图中添加第二条折线图来说明值的巨大差异。

$(document).ready(function(){ 
var data = [10000000, 5000000,10000,2000];
var options= {    
   title: 'Bar and Line Chart',      
   series:[{
      renderer: $.jqplot.BarRenderer,                 
      rendererOptions: {          
         barMargin: 5,           
         fillToZero: true               
      },
      pointLabels: {
         show: true,
         seriesLabelIndex:1,
         hideZeros:false
      }
   }],
   axes: {      
      xaxis: {          
         tickRenderer: $.jqplot.CanvasAxisTickRenderer,
         renderer: $.jqplot.CategoryAxisRenderer,
      },      
      yaxis: {   
         labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
         padMin: 0,
         pad: 1.1,
         label: ' logarithmic scale',
         rendererOptions: { forceTickAt0: true}
      } 
   },               
};  
$.jqplot('graph', [data,data], options );
});

这是jsfiddle 中的一个有效解决方案

【讨论】:

  • 谢谢,这对我很有帮助。我仍然想知道 jqplot 是否提供了一种在不创建折线图的情况下执行此操作的方法。有没有办法可以实现缩放??
  • @Farhan 你无法缩放 y 轴,but this might help
  • 这行不通,因为范围很大,而且值之间的差异也很大。感谢您的帮助!
  • @Farhan 不客气,我看不到使用jqplot 实现目标的方法,只有条形图。无论如何,如果我的回答对您有帮助,请考虑接受(通过答案分数旁边的小 V 符号)。谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 2015-01-04
  • 1970-01-01
  • 2023-04-05
  • 2012-09-29
  • 2012-03-05
相关资源
最近更新 更多