AmChart: Ошибка установки lineColor для графика

Я пытаюсь получить многолинейный график с помощью StockChart. Сначала я попробовал без особой настройки свойств цвета, но все линии были оранжевыми. Поэтому я попытался заставить графики иметь разные цвета, используя массив цветов в классе StockPanel. Это работает для установки legendColor, но не работает при установке цветов линий.

Я сделал что-нибудь глупое? Как я могу активировать автоматическое назначение цвета?

Вот мой код:

var stockPanel1 = new AmCharts.StockPanel();
stockPanel1.showCategoryAxis = true;

var graph1;

$.each($("#building-select").val(), function(index, value) {
    graph1 = new AmCharts.StockGraph();
    graph1.valueField = buildingNames[value];
    graph1.legendColor = stockPanel1.colors[index]; // this works
    graph1.lineColor = stockPanel1.colors[index];   // this does not work
    graph1.title = buildingNames[value];
    graph1.bulletBorderColor = "#FFFFFF";
    graph1.bulletBorderAlpha = 1;                                       
    graph1.balloonText = buildingNames[value] + ":<b>$[[value]]</b>";
    stockPanel1.addStockGraph(graph1);
});

Это то, что я получаю из кода. Обратите внимание, что цвета легенды установлены соответствующим образом, но цвета линий по-прежнему оранжевые. Цвета легенды допустимы, но цвета линий все оранжевые

Обновлять:

Я заменил код создания на формат JSON, добавив конфиг useDataSetColors: false. Это работает для начальной линии.

stockGraphs: [{
    id: "g1",
    valueField: $("#type-select").val(),
    comparable: true,
    useDataSetColors: false,
    lineColor: Colors[0],    // this works
    compareField: $("#type-select").val(),
    balloonText: "[[title]]:<b>$[[value]]</b>",
    compareGraphBalloonText: "[[title]]:<b>$[[value]]</b>"
}]

Для постоянно добавляемых строк я назначил свойство цвета непосредственно наборам данных:

$.each($(this).val(), function(index, value) {
    chartDataSets[value].color = Colors[index];
    if (index == 0) {
        chart.mainDataSet = chartDataSets[value];
    } else {
        chartDataSets[value].compared = true;
    }
});

Я думаю, это просто обходной путь, пожалуйста, дайте мне знать, есть ли способы получше, большое спасибо.

Кроме того, как я могу добавить метки осей и переместить легенду внизу? Конфиги, которые работают с обычными amCharts, похоже, не работают в StockCharts.


person Cihan    schedule 05.03.2014    source источник


Ответы (1)


Попробуйте установить graph.useDataSetColors = false;

person zeroin    schedule 06.03.2014
comment
Это не работает в моем исходном коде. Однако когда я изменил свой код для создания диаграммы в формате JSON, это сработало. - person Cihan; 10.03.2014
comment
Не могли бы вы взглянуть на мой обновленный вопрос? Большое спасибо за ваше время. - person Cihan; 10.03.2014