我必须在一个图表中显示两个条形图,其中第一个系列(条形图)是2015年,第二个是2016年。但是当图表包含两年的数据时。然后我应该需要工具提示{point.key}
来挑选{2016 - 1} = 2015
并从中提取年份,让我们说,2016年,然后在运行时更改series.name到2016年的第一个栏和第二个栏为{point.key}
在工具提示上。因此,如果条形图的数据是3 - 4年,为了第一个系列,现在它只采用我添加的series.name,但是如何使它成为第一个系列年的动态我们可以轻松选择来自Previous Year
。我知道高档并不意味着像这样工作,但这种技巧我申请能够产生今年与去年的比较报告。
注意:为了在一个点上绘制图形,两个柱的时间戳将保持相同,但是值将从去年开始,以便能够将两个柱一起绘制。
因此,我需要在工具提示中动态地将2010
更改为Current Year
并将2011
更改为Week from Monday, Aug 9, 2011
,方法是从header <activity
android:name=".GDriveActivities.DeleteActivity"
android:theme="@style/AppTheme.NoActionBar" />
中选择年份。
JS Fiddle :https://jsfiddle.net/sfwcqk1w/
答案 0 :(得分:1)
您可以通过tooltip.formatter完全控制工具提示中显示的内容。你可以在那里进行自己的计算。在工具提示中,您可以访问该系列中的所有点。
为启用了数据分组的点添加其他属性将不起作用 - 在工具提示中,您将获得分组点 - 并且这些点没有其他属性。
您的工具提示可能如下所示 - 它包含一些默认格式:
formatter: function() {
var points = this.points;
var headerFormat = '<span style="font-size: 10px">' + Highcharts.dateFormat('Week from %A, %b %e, %Y', this.x) + '</span><br/>';
var pointFormat = '',
previousYear;
points.forEach(function(point) {
var name = point.series.name,
part;
if (name === 'Previous Year') {
previousYear = part = new Date(point.x).getFullYear();
} else if (name === 'Current Year') {
part = previousYear + 1
} else {
part = name;
}
pointFormat += '<span style="color:' + point.color + '">\u25CF</span> ' + part + ': <b>' + point.y + '</b><br/>';
});
return headerFormat + pointFormat;
}