在.generate()之后和.load()之前传递参数给c3js tooltop
Pass parameter to c3js tooltop after .generate() and before .load()
我试图绘制出没有任何关系的指标,所以不是绘制出实际值,而是计算了一组在0-1之间缩放的值,如百分比。
例如:[1, 2, 5] => [0.2, 0.4, 1]
所以现在我有两组数据-原始版本和缩放版本。缩放后的版本可以很好地绘制到我的图形上,但是我希望工具提示向用户显示原始值。明白我的意思了吗?
我检查了http://c3js.org/samples/tooltip_format.html,它显示您可以在最初生成C3对象时将tooltip设置为一个函数。但是我想在我重新计算我的原始/缩放值并重新load()
图形后更改工具提示。
在初始设置myGraph = C3.generate({...})
后,所有尝试显式更改myGraph.tooltip.format.value = function (...) {...}
的尝试都不成功。
你知道我怎样才能做到这一点,而不必每次都从头开始重新生成图形吗?
您需要重写internal.getTooltipContent
var data = ['data1', 30000, 20000, 10000, 40000, 15000, 250000];
// simple fake data
var fakeData = data.map(function (d, i) {
return i ? (d / 100) : d;
})
var chart = c3.generate({
data: {
columns: [
fakeData,
['data2', 100, 200, 100, 40, 150, 250]
],
}
});
// do code to take over mars and plant potatoes
// save the original
var originalGetTooltipContent = chart.internal.getTooltipContent;
chart.internal.getTooltipContent = function (data, defaultTitleFormat, defaultValueFormat, color) {
// we modified the first series, so let's change that alone back
var originalValue = {
id: data[0].id,
index: data[0].index,
name: data[0].name,
// unfaked
value: data[0].value * 100,
x: data[0].x
};
var originalValues = data.map(function (d, i) {
return i ? d : originalValue;
})
return originalGetTooltipContent.call(this, originalValues, defaultTitleFormat, defaultValueFormat, color)
}
我假设你已经做了一些关于缩放y轴标签?
提琴- http://jsfiddle.net/puf248en/
感谢土豆皮,
我确实通过简单地加载表单数据一次解决了这个问题,然后通过编程显示/隐藏某些指标。这样我就可以按预期使用所有的generate()选项。
我尝试了你的解决方案,似乎很有效,直到我找到了更简单的选择。谢谢!相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- MVC 3页面导航和使用javascript传递参数
- 从查询字符串参数推断出正确的数据类型
- 传递包含'%的参数'在URL中
- 为什么不'我们在javascript中使用函数参数的数据类型
- 在.generate()之后和.load()之前传递参数给c3js tooltop