我正在为我正在开发的网络应用实施jQuery Sparklines插件。我想在饼图值上添加标签,因此当您将鼠标悬停在特定图表上时,您将选择“汽车(25%)”而不是默认的int值“ 1 (25%)”。
关于如何做到这一点的任何想法?
这是我的代码:
$(function(){
var myvalues = [10,8,5,7,4,4,1];
$('#sparkline').sparkline(myvalues, {
type: 'pie',
width: '200px',
height: '200px',
sliceColors: ['#5d3092', '#4dc9ec', '#9de49d', '#9074b1', '#66aa00', '#dd4477', '#0099c6', '#990099'],
borderWidth: 7,
borderColor: '#f5f5f5'
});
});
谢谢!
答案 0 :(得分:41)
使用tooltipPrefix或编写自己的格式化程序的更好的替代方法是使用tooltipFormat和tooltipValueLookups来将值数组中的索引映射到名称:
$(function() {
var myvalues = [10,8,5,7,4,4,1];
$('#sparkline').sparkline(myvalues, {
type: 'pie',
width: '200px',
height: '200px',
sliceColors: ['#5d3092', '#4dc9ec', '#9de49d', '#9074b1', '#66aa00', '#dd4477', '#0099c6', '#990099'],
borderWidth: 7,
borderColor: '#f5f5f5',
tooltipFormat: '<span style="color: {{color}}">●</span> {{offset:names}} ({{percent.1}}%)',
tooltipValueLookups: {
names: {
0: 'Automotive',
1: 'Locomotive',
2: 'Unmotivated',
3: 'Three',
4: 'Four',
5: 'Five'
// Add more here
}
}
});
});
以下是针对上述方法的Sparkline文档的链接:http://omnipotent.net/jquery.sparkline/#tooltips
答案 1 :(得分:10)
我也使用bootstrap,我遇到了这个问题,我看不到工具提示:
全局设置box-sizing到border-box会导致工具提示显示不正确。这可以在bootstrap之后通过以下css修复。这可能会成为一个问题,因为更经常使用盒子大小。
.jqstooltip { box-sizing: content-box;}
答案 2 :(得分:6)
以下是带有自定义标签
的饼图的工作示例http://jsfiddle.net/gwatts/ak4JW/
// jsfiddle configured to load jQuery Sparkline 2.1
// http://omnipotent.net/jquery.sparkline/
// Values to render
var values = [1, 2, 3];
// Draw a sparkline for the #sparkline element
$('#sparkline').sparkline(values, {
type: "pie",
// Map the offset in the list of values to a name to use in the tooltip
tooltipFormat: '{{offset:offset}} ({{percent.1}}%)',
tooltipValueLookups: {
'offset': {
0: 'First',
1: 'Second',
2: 'Third'
}
},
});