谷歌图表dataView格式与dataSource不同?

时间:2017-09-27 13:51:24

标签: charts google-visualization

我已经创建了一个dataView,以便在我的Google条形图上添加标签,如:

 options = {
                title: arr[0][0],
                titleTextStyle: { fontSize: '12', color: '#666' },
                colors: ['#50c0ed'],
                backgroundColor: { fill: 'transparent' },
                height: 220,
                width: '100%',
                is3D: true,
                fontSize: '11',
                hAxis: { format: '$###,###,###.00' },
                vAxis: {
                    format: '$###,###,###.##',
                viewWindow: {
                    min: 0
                    }
            },
                chartArea: { width: '100%', height: '60%', top: '40', left: '65', right: '10' },
                tooltip: { textStyle: { color: '#333', fontSize: '11' } }
            };
            formatter = new google.visualization.NumberFormat({ pattern: '$###,###.##/SF/year' });
            formatter.format(data, 1);`enter code here`
            view = new google.visualization.DataView(data);
            view.setColumns([0, 1,
                {
                    calc: "stringify",
                    sourceColumn: 1,
                    type: "string",
                    role: "annotation",
                }]);

            chart = new google.visualization.ColumnChart(container[0]);

,结果是enter image description here,但是我想从标签中排除/ SF /年结束但是当我翻过栏时仍然保留它, 我尝试在初始化dataVIew之后才设置格式化程序,但是这个doesen工作,我有没有办法从标签中删除/ SF / year但是当我翻过来时保留它?

1 个答案:

答案 0 :(得分:0)

使用另一个格式化程序而不使用> /SF/year

formatterNumberOnly = new google.visualization.NumberFormat({ pattern: '$###,###.##' });

然后在view中,使用自定义calc功能代替"stringify"
使用formatValue方法格式化每行的值

view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
    calc: function (dt, row) {
      return formatterNumberOnly.formatValue(dt.getValue(row, 1));
    },
    type: "string",
    role: "annotation",
}]);