在amCharts中,确保在不使用日期时数据点之间的x轴上的不规则间隔

时间:2016-07-14 20:32:44

标签: amcharts

我有一个带X轴的折线图,数据与日期不对应但是是数值。

我希望我的x轴根据它在轴上的值来适当地间隔它的内容。

但是,正如您将在示例中看到的那样,即使x轴上的值有不相等的跳跃,每个数据点之间的间距也相等。

https://jsfiddle.net/shwaydogg/xfxk5gwu/3/

"dataProvider": [
    {
    x:1, 
    visits: 1,  
  },        {
    x:1.1, 
    visits: 2,  
  },        {
    x:1.3, 
    visits: 3,  
  },        {
    x:5, 
    visits: 4,  
  },        {
    x:10, 
    visits: 5,  
  },        {
    x:100, 
    visits: 6,  
  },        {
    x:10000, 
    visits: 7,  
  },        {
    x:100000, 
    visits: 8,  
  },
],

注意:我知道equalSpacing,但它的默认值为false,它对我来说没有改变任何东西,如果你使用的是parseDates,我似乎是为了保持相等的间距。< / p>

2 个答案:

答案 0 :(得分:0)

amCharts支持团队的官方回复显示如何正确使用XY图表作为@gerric指示:

  

如果您使用数字x轴,则串行图表不合适,因为categoryAxis使用每个刻度的精确值,如基于字符串的类别。您将需要使用XY图表,这将创建具有适当缩放的完整数字x轴。

     

我在这里对您现有的图表进行了一些小修改:https://jsfiddle.net/xfxk5gwu/4/

var chart = AmCharts.makeChart("chartdiv", {
    "type": "xy",
     ...

答案 1 :(得分:0)

我没有使用丢失序列图表某些功能的XY图表,而是选择了一些黑客攻击。在数据提供者中,我添加了所有缺失的x轴值,而没有给它们一个y值(一个与其中一行对应的值)。 e.g:

"dataProvider": [
  {
    x:1, 
    visits: 0,  
  },{        
    x:1.25, 
    visits: 1,  
  },{
    x:1.75, 
    visits: 2,  
  },{
    x:2.25, 
    visits: 3,  
  }
]

更改为=&gt;

"dataProvider": [
  {        
    x:1, 
    visits: 0,  
  },{  
    x:1.25, 
    visits: 1,  
  },{        
    x:1.5       //Added
  },{
    x:1.75, 
    visits: 2,  
  },{        
    x:2         //Added
  },{
    x:2.25, 
    visits: 3,  
  }
]