Flot:在多个堆叠条形图的整个屏幕上保持一致的标签颜色

Flot: Consistent label colors throughout screen with multiple stacked bar charts

这是我的 JSFIDDLE

如果在另一个图表中找到相同的标签,我需要动态标签具有相同的颜色,并且如果可能的话,在所有图表的堆栈栏中具有相同的顺序。

例如,如果你看紫色,它有 3 个标签:084、080、00。它应该只有 084/080/00 反对紫色。这些应该反映在屏幕内的所有图表中。

$.plot($("#placeholder"), chartData, chartOptions);

您可以通过遍历 chartData 数组来构建标签列表和使用的颜色,请参阅此 fiddle 的工作示例:

var colors = {
    _count: 1
};
function distributeColors(data) {
    for (var i = 0; i < data.length; i++) {
        var label = data[i].label;
        if (!colors[label]) {
            colors[label] = colors._count++;
        }
        data[i].color = colors[label];
    }
}
distributeColors(chartData);
distributeColors(chartData2);
distributeColors(chartData3);