五边形柱状图中的趋势线



在我的例子中,每个条表示一个应用程序。我使用趋势线在条形图上查看不同应用程序的性能。

在条形图的趋势线上,如果其中一个实体(条形)没有数据,我们可以不显示该趋势吗?当前在x轴上获得值为0的条的趋势线。

我可以在图表上看到趋势,但还有一个图例作为"移动平均线"。这个可以去掉吗?如果你需要更多的信息,请在评论区告诉我。

可以通过JavaScript实现吗?如何?例如:使用post取回图表

趋势计算本身不考虑空值。然而,如果您不希望显示"应用程序"为空的趋势点,您可以通过使用扩展点来隐藏穿过这些点的线段:

trendLine_strokeStyle: function(s) {
    var categ  = s.getCategory(),
        series = s.getSeries(),
        dataPart = '0',
        hasNonNull = 
            this.chart.visibleData(dataPart)
               .datums({category: categ, series: series}, {isNull: false})
               .any();
    // `delegate` returns the color that would be returned hadn't we overridden
    //  the extension point.
    // `null` means "transparent color".
    return hasNonNull ? this.delegate() : null;
}

前面的代码片段适用于默认图表配置,其中您使用了默认维度名称(系列类别),并且趋势仅适用于主图中的数据( dataPart值为'0'的数据)。

对于另一个问题,如何隐藏图例中显示趋势颜色的部分,再次假设您没有更改默认值,并且趋势图使用第二个颜色轴,您可以通过指定选项color2AxisLegendVisible: false来隐藏它。

编辑:要将上面的代码放在CDF组件的预执行处理程序中,您可以这样做:
function() {
    var cccOptions = this.chartDefinition;
    // Extension points are in a array of pairs name, value format...
    var eps = Dashboards.propertiesArrayToObject(cccOptions.extensionPoints);
    // Specify the extension point
    eps.trendLine_strokeStyle = function() { ... };
    // Convert extension points to original CDF format
    cccOptions.extensionPoints = Dashboards.objectToPropertiesArray(eps);
}

相关内容

  • 没有找到相关文章

最新更新