AmChart:为图表设置 lineColor 失败
Posted
技术标签:
【中文标题】AmChart:为图表设置 lineColor 失败【英文标题】:AmChart: Setting lineColor for a Graph Failed 【发布时间】:2014-04-07 06:41:04 【问题描述】:我正在尝试使用 StockChart 获取多折线图。首先我尝试没有专门设置颜色属性,但我得到的线条都是橙色的。所以我尝试使用 StockPanel 类中的“colors”数组来强制图表具有不同的颜色。这适用于设置 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。
【问题讨论】:
【参考方案1】:尝试设置graph.useDataSetColors = false;
【讨论】:
这在我的原始代码中不起作用。但是,当我更改代码以生成 JSON 格式的图表时,它起作用了。 您介意看看我更新的问题吗?非常感谢您的宝贵时间。以上是关于AmChart:为图表设置 lineColor 失败的主要内容,如果未能解决你的问题,请参考以下文章