jqPlot - Как изменить отрицательный цвет - PullRequest
5 голосов
/ 25 марта 2011

Я использую jqPlot для построения графика области с сериями по умолчанию fill: true, fillToZero: true с useNegativeColors по умолчанию true. Я могу изменить color и fillColor, но я не нашел способ, как изменить цвет линии или цвет заливки ниже нулевой линии оси x. Я хочу положительное значение с зеленым цветом и отрицательное значение красным цветом. В настоящее время отрицательным значением по умолчанию является синий. Вот опция jqPlot:

var chartOptions = {
    title: { show: false },
    axesDefaults: {
        show: false,
        showGridline: false,
        borderWidth: 0,
        showTicks: false,
        showTickMarks: false,
        tickOptions: {
            show: false,
            showLabel: false,
            showMark: false,
            showGridline: false
        }
    },
    axes: {
        xaxis: { min: 0, max: 10 },
        yaxis: { min: -5, max: 5 }
    },
    seriesDefaults: {
        fill: true,
        fillToZero: true,
        fillAndStroke: true,
        color: "rgba(190,230,110, 0.8)",
        fillColor: "rgba(206,236,145, 0.8)",
        shadow: false,
        showMarker: false,
        lineWidth: 1,
        rendererOptions: {
            highlightMouseOver: false
        }
    },
    legend: { show: false },
    grid: {
        drawGridLines: false,
        background: "rgba(255,255,255,0)",
        shadow: false
    }
};

Редактировать: Добавить информацию: текущее отрицательное значение по умолчанию для синего

1 Ответ

8 голосов
/ 29 марта 2011

Я только что нашел в исходном коде что-то вроде:

this.negativeSeriesColors = [ "#498991", "#C08840", "#9F9274", "#546D61", "#646C4A", "#6F6621", "#6E3F5F", "#4F64B0", "#A89050", "#C45923", "#187399", "#945381", "#959E5C", "#C7AF7B", "#478396", "#907294"];

Это упоминается в примере fillToZero: http://www.jqplot.com/tests/fillToZero.php

Опция ряда fillToZero создаст диаграмму, где линии или столбцы заполнены вниз или вверх по направлению к линии нулевой оси. Часть линии ниже нуля будет затенена темнее, чем часть выше нуля. Эти цвета могут быть настроены с помощью опции «absoluteSeriesColors». Положительные значения окрашиваются в соответствии с параметром "seriesColors".

но в документации нет всех доступных опций.

Поэтому я добавляю отрицательный цвет следующим образом:

var chartOptions = {
    ...,
    negativeSeriesColors: ["#F94545", ...],
};
$.jqplot('chart1', data, chartOptions);
...