我正在使用来自valor软件的ng2图表和我的角度2应用程序。我无法弄清楚如何自定义悬停在条形图上时显示的默认工具提示的整个html内容。
有任何想法吗?
更新:
这是我的html /标记代码:
<canvas baseChart width="100" height="100" style="padding:24px; border:1px solid black;border-color:gray"
[datasets]="barChartData"
[labels]="barChartLabels"
[options]="barChartOptions"
[colors]="chartColors"
[legend]="barChartLegend"
[chartType]="barChartType"
(chartHover)="chartHovered($event)"
(chartClick)="chartClicked($event)"></canvas>
</div>
在我的typescript类中,我实现了barChartOptions函数:
tooltips: {
callbacks: {
...
...
}}
定制一些东西,但这似乎真的有限。例如,我可以使用label属性更改标签等:
label: function(tooltipItem, data) {
return "customlabel";
}
但是,我不知道如何添加其他标签。使用ng2-charts,如果我有一个带有两个数据集的条形图,并将鼠标悬停在一个条上,则它只显示该条的标签和数据,但它不显示第二个数据集的第二个条的数据。我想显示两者,但不知道如何为此添加其他标签和数据。
基本上,您不能使用css将样式应用于画布图表。但是,chartJS提供了一种将样式应用于工具提示的方法。请在Tooltip customisation阅读更多内容
还要考虑这个例子:内部图表选项tooltips: {backgroundColor: '#fff'}
我成功完成了以下设置:
模板
<canvas
baseChart
[chartType]="chartSettings.lineChartType"
[colors]="chartSettings.lineChartColors"
[datasets]="lineChartData"
[labels]="lineChartLabels"
[legend]="chartSettings.lineChartLegend"
[options]="chartSettings.lineChartOptions" <---- the important one
>
</canvas>
我创建了一个文件stats.chart-settings.ts
的设置:
export const ChartSettings: any = {
lineChartOptions: {
tooltips: {
backgroundColor: 'rgba(255,255,255,0.9)',
bodyFontColor: '#999',
borderColor: '#999',
borderWidth: 1,
caretPadding: 15,
colorBody: '#666',
displayColors: false,
enabled: true,
intersect: true,
mode: 'x',
titleFontColor: '#999',
titleMarginBottom: 10,
xPadding: 15,
yPadding: 15,
}
}
}
在组件中,我只需:
import { ChartSettings } from './stats.chart-settings';
...
chartSettings: any;
constructor() {
this.chartSettings = ChartSettings;
}