我正在使用Google Chart API为值创建图表,范围从1到数百万。
问题 表示较小值(例如:小于50左右)的条在图上是不可见的,我无法看到哪些值对应于某个x轴。
如果我能以某种方式在条形图上打印y轴值,这将得到解决。但是,我在API文档中找不到任何关于如何做的提及。
这里有类似的问题,但它没有回答我的问题。
put labels on top of inside bar in google interactive bar chart
此处还有其他一些超过一年未解决的问题,我希望有人可能已经找到解决方案或一个解决方法,这就是为什么再次提出这个问题。
Google Visualization: Column Chart, simple question but can't find the answer
How to show values on the the top of columns Google Chart API
您能告诉我如何使用How can I customize this Google Bar Chart?实现我想要的目标吗?
答案 0 :(得分:19)
在这里查看Andrew Gallant的JSFiddle:
http://jsfiddle.net/asgallant/QjQNX/
它使用组合图表的聪明黑客来完成我认为你正在寻找的东西。
google.load("visualization", "1", {packages: ["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Value');
data.addColumn({type: 'string', role: 'annotation'});
data.addRows([
['Foo', 53, 'Foo text'],
['Bar', 71, 'Bar text'],
['Baz', 36, 'Baz text'],
['Cad', 42, 'Cad text'],
['Qud', 87, 'Qud text'],
['Pif', 64, 'Pif text']
]);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, 1, 2]);
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(view, {
height: 400,
width: 600,
series: {
0: {
type: 'bars'
},
1: {
type: 'line',
color: 'grey',
lineWidth: 0,
pointSize: 0,
visibleInLegend: false
}
},
vAxis: {
maxValue: 100
}
});
}
答案 1 :(得分:4)
我使用注释和不可见线进行了一些挫折(例如,将其显示在工具提示中作为另一个系列)。
我已经对ComboChart
进行了攻击(可以使用BarChart
和ColumnChart
,并进行了一些更改)将标签插入SVG。
看看这个小提琴:http://jsfiddle.net/augustomen/FE2nh/
在Firefox 21,Chrome 27和IE 9上测试。