Flot图表消除选定的颜色

3

我有一个使用Flot制作的堆积面积图,目前它的填充颜色是自动生成的。

我的问题是,是否可以消除选定的颜色。也就是说,我不希望图表使用绿色、红色和橙色作为填充颜色。

1个回答

6

API没有提供一种方法来排除某些颜色,如果它是自动生成的

我认为您可以轻松编辑jquery.colorhelpers.js文件,并注释/删除您不想要的auto-colors

例如:(未经测试)

var lookupColors = {
        aqua:[0,255,255],
        azure:[240,255,255],
        beige:[245,245,220],
        black:[0,0,0],
        // blue:[0,0,255], // --> no blue
        brown:[165,42,42],
        cyan:[0,255,255],
        ...
    };

编辑:
如果您没有手动包含jquery.colorhelpers.js文件,请注意jquery.flot.js文件中作者在第8行的注释:

8: // first an inline dependency, jquery.colorhelpers.js, we inline it here
9: // for convenience

行内代码在第32行:

32: (function($){$.color={};$.color.make=...

编辑2:

重要澄清

在阅读了一些代码和作者在jquery.flot.js文件中的评论后,我意识到上面的建议完全是错误的...
lookupColors变量用于将给定的颜色名称与相应的RGB值匹配...
与图表的自动生成颜色无关。

现在...在同样的阅读中,我发现了这个颜色主题声明jquery.flot.js第516行

516: // the color theme used for graphs
517: colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"],

猜猜看……如果你修改它,图表就会改变,所以我认为这将是您最佳的方法。

示例:

colors: [
    // "#edc240", // --> this removes/disabled the dark-yellow
    "#afd8f8",
    "#cb4b4b",
    "#4da74d",
    "#9440ed"
],

现在,你不仅可以排除一些颜色,还可以创建自己的主题
很棒 ;)

jsFiddle示例:http://jsfiddle.net/gmolop/9u8tsfum/


但是现在我的HTML甚至没有链接到jquery.colorhelper.js,这意味着颜色是在主脚本中自动生成的。这也意味着我无法排除选定的颜色。 - flolaloop
你是否包含了jquery.flot.js文件? - gmo
请查看第二个编辑说明,其中包含重要的澄清、可能的解决方案和jsfiddle示例。 - gmo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接