在条形图中呈现数据AngularJS,如何制作一个好的多条形图
Presenting Data in a bar chart AngularJS, How to make a good multi-bar chart?
假设我有以下JSON:
[
{
month: "Jan",
cost: 80,
energy: 90
},
{
month: "Feb",
cost: 50,
energy: 80
},
{
month: "Mar",
cost: 90,
energy: 40
},
{
month: "Apr",
cost: 80,
energy: 90
},
{
month: "May",
cost: 50,
energy: 80
},
{
month: "Jun",
cost: 70,
energy: 40
},
{
month: "Jul",
cost: 40,
energy: 70
},
{
month: "Aug",
cost: 80,
energy: 90
},
{
month: "Sep",
cost: 90,
energy: 90
},
{
month: "Oct",
cost: 40,
energy: 90
},
{
month: "Nov",
cost: 20,
energy: 50
},
{
month: "Dec",
cost: 10,
energy: 20
},
];
如何在我的网站上以简单的条形图的形式显示?
- Y轴作为成本/能源的数字刻度
- X轴显示月份
我曾在以下指南中尝试过纯使用CSS和Javascript,但该解决方案非常基本,一次只显示一条数据(即一个月内的成本或能量)。
以下是我尝试过的一个例子:HTML
<ul class="chart" style="width:{{width}}px; height:{{height}}px;" >
<div class="y" style="width:{{height}}px;">{{yAxis}}</div>
<div class="x">{{xAxis}}</div>
<li ng-repeat="bar in data" class="bar" style="height:{{bar.cost / max * height}}px; width:{{width / data.length - 5}}px; left:{{$index / data.length * width}}px;"><span>{{bar.month}}:{{bar.cost}}</span></li>
</ul>
控制器:
$scope.width = 600;
$scope.height = 400;
$scope.yAxis = "Amount";
$scope.xAxis = "Month";
$scope.data = dataService.usage;
$scope.max = dataService.max;
// Dataservice is a factory which returns the aformentioned JSON
CSS:
.chart {
border-left: 1px solid black;
border-bottom: 1px solid black;
margin: 60px auto;
position: relative;
}
.y {
position: absolute;
transform: rotate(-90deg);
transform-origin: bottom left;
bottom: 0;
padding: 5px;
}
.x {
position: absolute;
top: 100%;
width: 100%;
padding: 5px;
}
.bar {
background: blue;
position: absolute;
bottom: 0;
}
这种方法在页面上看起来很糟糕,Y轴也没有正确显示。
有没有更好的方法在Angular中显示我的数据?
您可能需要使用图表库。
相关文章:
- 在条形图中呈现数据AngularJS,如何制作一个好的多条形图
- 如何从Mysql,php创建一个活动和动态的条形图
- 在 D3 中追加堆积条形图和另一个条形图
- HighStack是一个完整的系列(条形图)
- 在chartjs的条形图中添加一个点击事件
- 如何创建一个可以调用的函数,以使用JQplot显示多个条形图
- D3-将数据标签添加到一个简单的条形图中
- Jqplot图形中最后一个条形图的情况
- 行图只选择dc.js/crosfilter中的一个条形图
- 突出显示一个系列中的一个条形图
- 如何禁用条形图中消失时,点击一个项目的图例
- 如何隐藏一个条形图的x轴类别值,如果它的条形值等于零
- 如何使用javascript创建一个简单的条形图
- 组合条形图和堆叠图在一个单一的图表
- 显示饼图,分组和堆叠条形图在一个页面
- D3js -自定义标签在一个简单的条形图
- 在高图条形图上打印一个值
- 堆叠条形图谷歌可视化在internet explorer 8 'null或不是一个对象'
- 2个数组一个值一个颜色使D3条形图具有相同索引值的颜色
- 谷歌图表:组合如何覆盖2条形图.一个在另一个上面