代码之家  ›  专栏  ›  技术社区  ›  Brian Scott

如何设置每个条形图的jqplot条形图颜色?

  •  13
  • Brian Scott  · 技术社区  · 14 年前

    我正试图设置我的jqplot条形图的颜色。将始终有六个条形图,分为两组条形图。下面是正在绘制的数据示例:

     line1 = [6000, 5000, 5500];
     line2 = [16000, 10000, 14000];
    

    到目前为止,我使用了以下方法:

     seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501", "#027997", "#CF3501", "#027997"],
    

    但是jqplot每次在前两个条之间交替,而不是使用所有声明的颜色。这可能是因为它只确定存在2个序列,每组数据一个。

    有没有办法把酒吧的颜色设置得很明确?

    3 回复  |  直到 14 年前
        1
  •  31
  •   Matthew Fedak    14 年前

    我是用 varyBarColor method 因此,您可以像以前一样以简单的数组列出条形图的不同颜色,但如果只有一个系列,则将对每个条形图使用这些颜色。下面是我的代码示例:

    plot1 = $.jqplot('chart1', [s1], {
            title: 'Example Income Graph',
            seriesDefaults:{
                renderer:$.jqplot.BarRenderer,
                rendererOptions:{ varyBarColor : true },
                pointLabels: { show : true }
            },
            axes: {
                xaxis: {
                    renderer: $.jqplot.CategoryAxisRenderer,
                    label:'Net Growth (%)',
                    ticks: ticks
                },
                yaxis:{
                  label:'Income (£)',
                  tickOptions:{ formatString:'%d'},
                  autoscale:true,
                  min:0, 
                  max:10000
                }
            },
            seriesColors: [ "#eee", "#ccc", "#999"],
            highlighter: { show: false }
        });
    

        2
  •  4
  •   BlackTigerX Borut Tomazin    10 年前

    这已经很老了,但仍然没有正确的答案,我花了一段时间才弄明白,所以就这样。

    你需要两件事: 设置varyBarColor和一个系列数组,该数组包含每个系列的系列颜色,传递的级别与seriesDefaults相同,例如:

    plot1 = $.jqplot('chart1', [s1, s2], {
                title: 'Example',
                seriesDefaults:{
                    renderer:$.jqplot.BarRenderer,
                    rendererOptions:{ varyBarColor : true },
                    pointLabels: { show : true }
                },
                series: [{seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501"]},
                         {seriesColors: ["#027997", "#CF3501", "#027997"]}]
                }
    
        3
  •  -1
  •   Mike Gardner    10 年前

    像这样试试

    series:[{renderer:$.jqplot.BarRenderer , seriesColors: ["#F3CBBF", "#BFDDE5", #CF3501","#eee", "#ccc", "#999"] }]