带有自定义间隔标签的Highchart
Highchart with label in custom intervals
我有一个Highchart条形图(列类型),它将显示每个日期的数据。现在它正在通过AJAX和日期范围获取值可以选择。由于大小限制,如果选择的日期范围超过10天,我需要以5天为间隔显示日期标签。这就是需要显示的所有条形图,但如果日期范围超过10天,则标签的间隔应为5天。如果是10天或更低,则应显示所有日期。
我的图形配置如下:
var chart = new Highcharts.Chart({
credits: {
enabled: false
},
legend: {
align: 'right',
verticalAlign: 'top',
layout: 'vertical',
x: 20,
y: 10
},
chart: {
renderTo: 'id_name',
type: 'column'
},
xAxis: {
categories: dates,
crosshairs: true
},
yAxis: {
title: {
text: 'Y Axis Title'
}
},
colors: ['#1A7BB9', '#18A689', '#21B9BB', '#F7A54A', '#EC4758'],
title: {
text: 'My title goes here'
},
subtitle: {
text: 'my subtitle goes here'
},
series: PHP formatted data goes here
});
我不确定间隔(应该每五个标签显示一次?或者你想比较时间范围来确定这一点?),但通常有两种解决方案:
-
更简单:默认情况下禁用dataLabels(
series.dataLabels.enabled = false
),但为特定点启用,例如:series: [{ data: [{ x: timestamp_1, y: timestamp_1, dataLabels: { enabled: true } }, [timestamp_2, value_2], [timestamp_3, value_3], ... , { x: timestamp_N, y: timestamp_N, dataLabels: { enabled: true } }] }]
-
较难的一个:包装
drawDataLabels
方法,并删除不必要的标签:(function (H) { H.wrap(H.seriesTypes.column.prototype, 'drawDataLabels', function (p) { var step = H.pick(this.options.dataLabels.step, 0), iterator = 0; p.call(this); if(step) { H.each(this.points, function (point) { if (point.dataLabel) { if (iterator % step !== 0) { point.dataLabel = point.dataLabel.destroy(); } iterator ++; } }); } }); })(Highcharts)
jsFiddle用于第二个解决方案:http://jsfiddle.net/gL2kw73b/2/
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- iframe正在添加标签,需要删除它们
- 如何自动调整标签的高度以适应内容
- Highchart:endOnTick没有完成xaxis的最大极限设置
- HighChart : Usage of setData
- Jquery标签插件粘贴问题
- Twitter引导程序Typeahead-Id&标签
- 在select元素中显示highchart dashstyle(svg)
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- Morris.js折线图x轴标签在调整大小后消失
- JavaScript goto 标签如何使用内部循环
- highchart x轴未显示正确的日期标签
- 如何增加highchart.js图表上x轴标签区域的高度
- 数据标签格式化程序在 Highchart 中用于第一个类别
- 带有自定义间隔标签的Highchart
- 在饼图切片(Highchart)中放置标签
- HighChart jquery插件如何生成Y标签?
- 如何在Highchart.js中显示多个标签
- Highchart:是否可以通过点击一个按钮来改变Highchart中标签的字体