首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ColumnChart中更改条形图颜色和图例

如何在ColumnChart中更改条形图颜色和图例
EN

Stack Overflow用户
提问于 2018-04-18 14:14:05
回答 2查看 996关注 0票数 5

我使用谷歌图显示列图用于2件事:

1)成功

2)失败

成功:颜色=绿色 表示失败: Color = Red

但问题是ColumnChart总是以蓝色显示条形图,我还想要传说:

代码语言:javascript
复制
Success
Failed

但它将Legends显示为“值”,如下所示:

代码:

代码语言:javascript
复制
 angular.module("google-chart-sample", ["googlechart"])
.controller("GenericChartCtrl", function ($scope) {
    var data = { "data": { "graphResponse": { "cols": [{ "label": "Types", "type": "string" }, { "label": "values", "type": "number" }], "rows": [{ "c": [{ "v": "success" }, { "v": 11 }] }, { "c": [{ "v": "failed" }, { "v": 0 }] }] } } };
    $scope.myChartObject = {};
    $scope.myChartObject.type = "ColumnChart";
    $scope.myChartObject.data = data.data.graphResponse;
    $scope.myChartObject.options = {
        slices: {
            0: { color: '#50ce68' },
            1: { color: '#ff7b7b' },
        },
    };
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.18/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-google-chart/1.0.0-beta.1/ng-google-chart.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.4/ui-bootstrap-tpls.min.js"></script>
<ul ng-app="google-chart-sample" ng-controller="GenericChartCtrl">
    <div google-chart chart="myChartObject" style="height:600px; width:100%;"></div>
    </ul>

我想要成功栏为绿色,失败为红色,我还想要两个传奇(成功-Green和失败-红色)

(如有任何帮助,我将不胜感激:)

EN

回答 2

Stack Overflow用户

发布于 2018-04-20 14:35:41

要达到预期效果,请使用下面的“使用角色”选项,并将颜色为绿色表示成功,红色为失败。

{“角色”:“样式”,“类型”:“字符串”}

代码语言:javascript
复制
  var data = { "data": 
                { "graphResponse": 
                 { "cols": [{ "label": "Types", "type": "string" }, 
                            { "label": "values", "type": "number" },
                            {"role": "style", "type": "string"}], 
                  "rows": [{ "c": [{ "v": "success" }, { "v": 11 },{"v":"green"}] }, 
                           { "c": [{ "v": "failed" }, { "v": 0 },{"v":"red"}] }] 
                 } } };

图例的问题是,默认情况下它将标签:“value”作为图例,而定制的一种方法是创建图例:none并使用以下代码进行自定义

HTML:

代码语言:javascript
复制
<div class="legend">
    <div ng-repeat="item in myChartObject.data.rows">
    <div class="{{item.c[2].v}}"></div>{{item.c[0].v}}
    </div>
  </div>

CSS:

代码语言:javascript
复制
 .legend{
  position:absolute;
  right:100px;
  top:30px;
}

.red{
  background:red;
  width:30px;
  height:10px;
  display:inline-block;
}

.green{
  background:green;
  width:30px;
  height:10px;
  display:inline-block;
}

JS :在JS中添加图例:无图表选项

代码语言:javascript
复制
$scope.myChartObject.options = {
        slices: {
            0: { color: '#50ce68' },
            1: { color: '#ff7b7b' },
        },
       legend:'none'
    };

更新的代码示例以供参考- https://codepen.io/nagasai/pen/qYdpaE

票数 4
EN

Stack Overflow用户

发布于 2018-04-27 09:11:59

使用谷歌图的setSelection方法,可以实现图例中鼠标对数据图的选择功能。要使用此方法,首先要在agc就绪指令上获取图表实例.然后在鼠标对图例处理程序上,调用图表实例的setSelection方法。

代码语言:javascript
复制
 $scope.highLight = function(arg){
     if(arg == "red"){
    ChartInstance.setSelection([{row:1,column:1}])
     }
     if(arg=="green"){
       ChartInstance.setSelection([{row:0,column:1}])
     }
   };

在这个链接中给出了代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49902004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档