我正在尝试为 Kibana 4.6 创建自定义可视化插件,我已在“已安装的插件”文件夹中制作了默认饼图的副本。我试图在单击饼图的任何切片后显示另一个图表(直方图/垂直条形图)。 我确信这不是最好的方法,但现在,我发现只有一种方法可以将自定义单击处理程序添加到饼图切片:在 ui/public/vislib 中插入以下代码/visualizations/pie_chart.js(在 PieChart.prototype.addPath 方法内):
path.each(function() {
$(this).on('click', function () {
// my custom onclick action will be here
}
});
但是,我不知道如何在该函数中创建直方图。我尝试过要求 'ui/Vis/Schemas'、'ui/vislib/vis'、'ui/vislib_vis_type/VislibVisType' 并创建一个新的 VislibVisType 和一个新的 Vis,想法是运行 VislibVisType.prototype.createRenderbot,但是看来我没有所需的对象作为参数传递(vis、$el、uiState)。 我对 Kibana (和 AngularJS)非常陌生,所以我可能做错了,所以如果有人能帮助我解决这个问题,我将不胜感激。
最佳答案
看来您可能错误地创建了自定义 Kibana 插件。 Tim Roes 有一个出色的系列可以帮助您入门。
https://www.timroes.de/2015/12/02/writing-kibana-4-plugins-basics/
插件有两种类型:应用程序和可视化。您所描述的内容可能无法作为可视化(或者也许我错了),因此您可能会考虑创建一个应用程序。
一旦开始,您可能想要研究 C3.js 和该库中的饼图。它有一个您应该能够利用的点击处理程序。该库中还有一个条形图。
关于javascript - 如何通过单击另一个图表的元素来打开 Kibana 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39702879/