如何显示图表.js图例与不同的条形颜色
how to display chart.js legend with different bar color
我这里有一个代码:http://jsfiddle.net/emo_noel10/5ztuvLwc/10/
var barData = {
labels: ["Prk. Atis", "Prk. Avocado", "Prk. Bayabas", "Prk. Boongon", "Prk. Chico", "Prk. Durian", "Prk. Guyabano", "Prk. Kaimito", "Prk. Kasoy", "Prk. Lanzones", "Prk. Lomboy", "Prk. Mabolo", "Prk. Macopa", "Prk. Mangga", "Prk. Mangosteen", "Prk. Mansanas", "Prk. Marang", "Prk. Marang Joesil", "Prk. Melon", "Prk. Nangka", "Prk. Pomelo", "Prk. Rambutan", "Prk. Santol", "Prk. Sereguellas", "Prk. Sunkist", "Prk. Tambis", "Prk. Ubas", "Fishpond/Sea wall"],
datasets: [{
data: [20, 59, 80, 81, 56, 55, 40, 20, 59, 80, 81, 56, 55, 40, 20, 59, 80, 81, 56, 55, 40, 20, 59, 80, 81, 56, 55, 40]
}]
};
var barDataOption = {
responsive: true,
scaleBeginAtZero: true,
scaleShowGridLines: true,
scaleShowHorizontalLines: true,
scaleShowVerticalLines: true,
animateRotate: true,
animateScale: true,
maintainAspectRatio: true,
percentageInnerCutout: 50,
legendTemplate: "<ul class='"<%=name.toLowerCase()%>-legend'"><% for (var i=0; i<datasets.length; i++){%><li><span style='"background-color:<%=datasets[i].fillColor%>'"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
};
var puroksBarData = document.getElementById("totalPopulationByPurok").getContext("2d");
new Chart(puroksBarData).Bar(barData, barDataOption);
我很好奇,因为我得到了不同颜色的条形图,有可能它会显示一个传奇的条形图与指定的颜色,就像chart.js饼和甜甜圈图?
任何帮助和建议都是非常感谢的,TIA。
既然您已经使用自己的函数修改了库代码以生成不同的颜色,那么您可以使用相同的函数来生成图例,如下所示(在脚本末尾)
var legendHTML = '';
barData.labels.forEach(function(label, i) {
legendHTML += ('<li><span style="background: ' + getFillColor(i) + '"></span>' + label + '</li>');
})
document.getElementById("totalPopulationByPurokLegend").innerHTML = '<ul class="chartLegend">' + legendHTML + '</ul>';
用CSS .chartLegend {
list-style: none;
margin: 0;
font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
font-size: 12px;
font-color: #666;
}
.chartLegend span {
display: inline-block;
height: 10px;
width: 10px;
margin-right: 10px;
}
顺便说一下,您不需要legendTemplate
选项。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- jQuery动画-边框宽度和颜色
- JS幻灯片与CSS背景颜色变化
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 如何使用D3生成特定范围内的随机颜色
- 比较javascript中的浮动并更改最高浮动的颜色
- 改变所有<td>为特定的桌子点击颜色
- 如何获得随机灯光颜色