我正在实现 Struts 2 JQuery 饼图。我不知道如何为图表设置自定义颜色。在后端,我只是创建一个地图,其中
key
为 String
, value
为整数。我应该使用什么属性来设置自定义颜色,或者如何在饼图中设置自定义颜色?
我的代码是:
<sjc:chart
id="chartPie2"
cssStyle="width: 600px; height: 400px;"
legendShow="false"
pie="true"
pieLabel="true"
pieInnerRadius="0.3"
pieLabelRadius="0.6"
pieLabelBackgroundColor="#555"
pieLabelBackgroundOpacity="0.7"
>
<s:iterator value="%{pieDataMap}">
<sjc:chartData
label="%{key}"
data="%{value}"
/>
</s:iterator>
</sjc:chart>
后端:
Map<Integer, Integer> pieDataMap = new TreeMap<String, Integer>();
pieDataMap.put("Java", 18);
pieDataMap.put("C", 17);
pieDataMap.put("C++", 10);
pieDataMap.put("PHP", 8);
pieDataMap.put("(Visual) Basic", 6);
pieDataMap.put("C#", 5);
标签
<sjc:chartData>
具有 color
属性,您可以在迭代地图时设置该属性。为此,您需要修改集合以包含您的系列的颜色。
public class Pie {
private String name;
private String color;
//getters setters and full constructor here
}
然后放置物品
pieDataMap.put(18, new Pie("Java","#990033"));
...
之后更改迭代器
<s:iterator value="%{pieDataMap}">
<sjc:chartData
label="%{value.name}"
data="%{key}"
color="%{value.color}"
/>
</s:iterator>