[英]Horizontal Bar-Chart in angular-chart.js
我已经在angular-chart.js中成功创建了条形图,但现在我想将其更改为水平条形图。 另外,我希望将字段放在水平条本身内:
码
angular.module("app", ["chart.js"])
.controller("LineCtrl", function ($scope) {
var x =
{
"labels": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"data": [
99,
59,
80,
81,
56,
55,
40
],
"type": "line",
"series": "eventTypePerDay"
}
console.log(x.series);
//ses all of the variables to build the chart
$scope.labels = x.labels;
$scope.colours = ['#71d078'];
$scope.type = x.type;
$scope.data = [x.data];
$scope.series = [x.series];
});
我想要的例子
在引擎盖下,angular-chart.js使用chart.js,它没有水平条形图的原生支持。 也就是说,有一个水平条形图插件可以添加,以支持这种类型的图表: https : //github.com/tomsouthall/Chart.HorizontalBar.js
我相信,为了使这项工作,您将需要使用动态图表指令
<canvas id="base" class="chart-base" chart-type="type"
chart-data="data" chart-labels="labels" chart-legend="true">
</canvas>
然后将类型指定为HorizontalBar
。
对于那些后来想知道的人; 有新版本的chart.js和angular-chart.js可用。 Chart.js 2.1及更高版本支持水平图表,angular-chart.js有一个新分支可以使用最新的chart.js版本, 请参阅此处的github repo 。
使用此版本不需要Tom Southall提到的上述HorizontalBar插件。
使用上面angular-chart.js站点提供的示例,并确保将class属性的值设置为“chart-horizontalBar”。
<canvas id="HorizontalBar" class="chart chart-horizontalBar" chart-data="data" chart-labels="labels" chart-series="series"></canvas>
我认为现在不需要包含Chart.HorizontalBar.js 。 这是如何使用chart.js-在Angular中获得简单的水平条形图
HTML的
<div>
<canvas id="bar-chart-horizontal" width="800" height="450"></canvas>
</div>
JS控制器 -
var myChart = new Chart(document.getElementById("bar-chart-horizontal"), {
type: 'horizontalBar',
data: {
labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#ff0000", "#8e5ea2","#3cba9f","#454545","#c45850"],
data: [2478,5267,734,784,433]
}
]
},
options: {
legend: { display: false },
title: {
display: true,
text: 'Predicted world population (millions) in 2050'
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.