我想知道如何在Jqplot中为两个系列制作不同的颜色条。如果我只有一个系列数据,那么它的工作原理就像下面的图片一样

红色和绿色基于其值。

但是,如果我有两个系列数据,则无法为每个系列数据配置两个系列颜色。到目前为止,我只能制作这张图

我希望两个系列图可以具有基于其值以及一个系列图的不同颜色。

这是我的代码

chart = $.jqplot('map-chart', [dataChart, dataChart2], {
        title: 'TIME',
        legend: {
            renderer: $.jqplot.EnhancedLegendRenderer,
                        show: true,
                        location: 'ne'
        },
        series: [{label: 'Current data'}, {label: 'Worst data'}],
        //seriesColors: seriesColors1,
        seriesDefaults:{
            renderer:$.jqplot.BarRenderer,
            pointLabels: {show: true}
            //rendererOptions:{
             //varyBarColor: true
            //}
        },
        axes: {
            xaxis: {
                label: 'station',
                renderer: $.jqplot.CategoryAxisRenderer,
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                ticks: tickers,
                tickOptions: {
                    angle: -30
                }
            },
            yaxis: {
              min: 0,
              label: 'Time',
              labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
              tickOptions: {
                    fontSize: '8pt'
              }
            }
        },
        highlighter: {show: false}
    });

我尝试了seriesColors : [seriesColors1, seriesColors2],但是没有用。

最佳答案

基本上,您需要创建一个序列数组,其中每个条目都包含一个字典,并带有seriesColors条目。下面的jsfiddle显示了一个工作示例:

plot1 = $.jqplot('chart1', [[50,100,50,50,75],[80,70,50,50,40]],
{
        seriesDefaults:{
            renderer:$.jqplot.BarRenderer,
            rendererOptions:{ varyBarColor : true }
        },
        series: [
            {seriesColors: [ "#f00", "#4b0", "#b40", '#ff0', '#fb0']},
            {seriesColors: ["#a30", "#4b0", "#b40", '#af0', '#fa0']}
            ],
        highlighter: { show: false }
});

(如果更改了外部js文件, fiddle 可能会停止工作;默认情况下,jsfiddle没有jqplot库。)

09-25 18:52