jQuery Flot不透明度取决于值

ign*_*aty 1 javascript jquery charts plot flot

一切顺利.

我需要根据它的价值改变flot bar/pie颜色.

例如,我有数据

data = [
    { label: "Label 1", color: "orange", data: 10}
    { label: "Label 2", color: "orange", data: 20}
    { label: "Label 3", color: "orange", data: 70}
];

$.plot(placeholder, data, options);
Run Code Online (Sandbox Code Playgroud)

标签3作为最大标签应该保持橙色,标签2和标签1应该具有不透明度(例如,每个-10%将给出不透明度-10).

像这样的东西:

在此输入图像描述

正确方向的任何想法或提示?

谢谢!

PS标签值将动态变化,因此我不能只添加预定义的颜色.

Rod*_*ira 6

编辑,这应该工作

    var data = [{ label: "Label 1", color: "rgba(255,165,0,1.0)", data: 10},
        { label: "Label 2", color: "rgba(255,165,0,1.0)", data: 20},
        { label: "Label 3", color: "rgba(255,165,0,1.0)", data: 70}]

    var maxOpacity = 0;

    data.forEach(function(a) {
        maxOpacity = Math.max(a.data, maxOpacity);
    });

    data.forEach(function(a) {
        var opacity = (((a.data * 100) / maxOpacity) / 100).toFixed(2);

        if (a.color.indexOf('rgba') == 0) {
            var b = a.color.split(',');
            b[3] = opacity;
            a.color = b.join(",") + ")";
        }
    });

    var placeholder = $("#placeholder");

    $.plot(placeholder, data, {
        series: {
            pie: { 
                show: true
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)