highcharts图表中级入门之xAxis label:X(横)坐标刻度值过长截断多行(换行)显示问题说明
2016-10-24 16:22
1596 查看
在使用highcharts图表的过程中,总会碰到这样一个很是棘手的问题,横坐标刻度值太长,在不换行显示的情况下显得格外拥挤。虽然针对这一问题是可以对其刻度值进行旋转以此来避开显示拥挤问题【如何让highcharts图表组件的X轴坐标刻度旋转属性值rotation的透明分析】,可是还是想对过长的刻度值进行一定长度的截取多行显示。
针对上面这样一个问题,对于highcharts图表而言显得不是那么的困难,我们需要将这个问题首先进行定位到xAxis的labels属性节点上去,通过查找API,我们不难发现label内有一个formatter方法可以对其刻度值进行格式化然后return返回,一般性的写法如:
view sourceprint?
01.
xAxis:{
02.
categories:[
'Foo'
,
'Bar'
,
'Foobar'
],
03.
labels:{
04.
//对横坐标刻度值进行格式化
05.
formatter:
function
() {
06.
return
'<a href="'
+ categoryLinks[
this
.value] +
'">'
+
07.
this
.value +
'</a>'
;
08.
}
09.
}
10.
},
我们知道了formatter这样一个格式化方法,也很容易地通过this.value获取到刻度值,那么我们就不难将其进行一定规则性的截取然后以HTML格式返回。这里提供一个符合需求的完整Demo示例代码:
view sourceprint?
01.
$(
function
() {
02.
var
categoryLinks = {
03.
'Foo'
:
'http://www.google.com/search?q=foo'
,
04.
'Bar'
:
'http://www.google.com/search?q=foo+bar'
,
05.
'Foobar'
:
'http://www.google.com/serach?q=foobar'
06.
};
07.
08.
$(
'#container'
).highcharts({
09.
chart:{
10.
},
11.
12.
xAxis:{
13.
categories:[
'测试横坐标过程问题'
,
'Bar'
,
'Foobar'
],
14.
15.
labels:{
16.
formatter:
function
() {
17.
//获取到刻度值
18.
var
labelVal =
this
.value;
19.
//实际返回的刻度值
20.
var
reallyVal = labelVal;
21.
//判断刻度值的长度
22.
if
(labelVal.length > 3)
23.
{
24.
//截取刻度值
25.
reallyVal = labelVal.substr(0,3)+
"<br/>"
+labelVal.substring(3,labelVal.length-1);
26.
}
27.
return
reallyVal;
28.
}
29.
}
30.
},
31.
32.
series:[{
33.
data:[29.9,71.5,106.4]
34.
}]
35.
});
36.
});
这样第一个刻度就会分两行显示了的,这里就不贴上效果查看地址了的,朋友们可以自己copy下来测试一下就可以了的。
相关文章推荐
- ECharts图表组件中级入门(Axis-axisLabel):图表坐标刻度过多如何设置刻度间隔(interval)以及配置说明
- 在一个label中显示多行,自动换行
- [转]C# Label显示多行文本及换行(WinForm/WebForm)
- highcharts图表中级入门:非histock图表的highcharts图表如何让图表产生滚动条
- iOS开发遇到的错误 -- Label显示多行文字导致宽度和高度的问题
- 图表轴刻度的思路,算法: 转载2【关于坐标轴刻度取值的问题】
- C# Label显示多行文本及换行(WinForm/WebForm)
- highcharts图表组件入门教程:如何监听柱状图柱子点击事件动态更新当前数据点数值和所对应X轴刻度
- Highcharts入门 前端图表显示
- highcharts图表中级入门:图表手动放大缩小自动切换图表标题(title/subtitle)以及图例(legend)、credits字体示例呈现3 6、完整实例代码:
- 关于gridview的item内文字过长换行后显示不完全问题
- Highcharts图形显示(坐标轴)的间隔问题
- C# Label显示多行文本及换行(WinForm/WebForm)
- Highcharts坐标轴只显示起始刻度和终止刻度
- highcharts图表中级入门:图表手动放大缩小自动切换图表标题(title/subtitle)以及图例(legend)、credits字体示例呈现2 5、图表重画
- 解决highcharts显示时精度尾数过长问题
- 读取数据库里的信息显示在Label里换行问题
- 在一个label中显示多行,自动换行
- elphi 怎么给字符串里加回车换行,label显示多行文本的两种方法
- highcharts如何在一个图表中使多条曲线在不同刻度下显示