2014-02-11 254 views
3

我正在使用amCharts javascript图表版本3,我也尝试过最新版本。Amcharts类别轴标签重叠

问题是:我有一个scrollCar的lineChart,该图表的categoryAxis有超过100甚至100条记录,所以首先渲染它只显示5-6,然后我缩放以查看更多categoryAxis标签。到现在为止还挺好。

但是,当我缩放,categoryAxis上的标签重叠,所以一切看起来都搞砸了,这是因为缩放后网格数量的增加。

我试过categoryAxis.autoGridCount但没有得到它的运气。

请帮助,提前致谢。

回答

0

autoGridCount应设置为true。从你的描述中,我猜你的轴标上有很多文字。我可以推荐你的categoryAxis增加minHorizo​​ntalGap为100左右(默认值为75)。如果这不起作用,我需要看看你的图表。

+0

想这没有运气!但我通过旋转标签文本进行管理,现在没有重叠 –

1

我知道这是一个相当古老的问题,但这是我最近遇到的一个问题,我无法在网上找到满意的解决方案。旋转类别标签的问题是它可以将图表缩小得多!

我想出的解决方案是使用标签格式化程序垂直错开类别标签。

我格式化

var up = false; 

function formatLabel(value, valueString, axis){ 
    if(up) { 
     axis.labelOffset=0; 
    } 
    else { 
     axis.labelOffset=25; 
    } 
    up=!up; 

    return value; 
} 

有一个关于在这里设立一个格式化

https://amcharts.zendesk.com/entries/23473053-Formatting-axis-labels-using-custom-function

但基本上所有你需要做的是设置在轴上的labelFunction一些信息

"categoryAxis": { 
    "labelFunction":formatLabel 
} 
2

我有我的类别轴相同的问题,其中c附上日期。 我解决它,这是我的解决方案: 最重要的部分是,parseDate设置为false

categoryAxis.parseDates = false; 

你必须categoryAxis.autoGridCount设置为true,因为它自动设置gridCount的数量,acoarding到很重要轴的大小。

categoryAxis.autoGridCount = true; 

然后

categoryAxis.minHorizontalGap = 100; 

即创建日期之间的空间,提到了一些人。

我的用法是:

//Category Axes 
    var categoryAxis = chart2.categoryAxis; 
    categoryAxis.gridAlpha = 0; 
    categoryAxis.autoGridCount = true; 
    categoryAxis.minHorizontalGap = 100; 
    categoryAxis.gridPosition = "start"; 
    categoryAxis.equalSpacing = false; 
    categoryAxis.parseDates = false; 
    categoryAxis.minPeriod = "DD"; 
    categoryAxis.startOnAxis = true; 
    categoryAxis.axisColor = "#dcdcdc"; 
    categoryAxis.axisThickness = 1; 
    categoryAxis.showLastLabel = true;