Я пытаюсь получить многолинейный график с помощью 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.