Charts 谷歌图表:垂直方向图表右侧的vAxis

Charts 谷歌图表:垂直方向图表右侧的vAxis,charts,google-visualization,Charts,Google Visualization,我很难把垂直轴放在右边,我读过这篇文章,但那是5年前的事了,没有计算出垂直图的方向。我也无法在图表的左侧和右侧显示垂直轴 我希望有比制作虚拟专栏更好的方法 google.charts.load('current'{ “包”:[“核心图表”] }); google.charts.setOnLoadCallback(drawChart); 函数绘图图(){ var data1=新的google.visualization.DataTable(); data1.addColumn('number'

我很难把垂直轴放在右边,我读过这篇文章,但那是5年前的事了,没有计算出垂直图的方向。我也无法在图表的左侧和右侧显示垂直轴

我希望有比制作虚拟专栏更好的方法


google.charts.load('current'{
“包”:[“核心图表”]
});
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var data1=新的google.visualization.DataTable();
data1.addColumn('number','x');
数据1.addColumn('number','y1');
data1.addRows([
[0.005, 3],
[0.006, 6],
[0.007, 5],
[0.008, 8],
[0.009, 2],
[0.010, 5],
[0.011, 5],
[0.012, 4],
[0.013, 8]
]);
var data2=新的google.visualization.DataTable();
数据2.addColumn('number','x');
数据2.addColumn('number','y2');
data2.addRows([
[0.016, 5],
[0.017, 1],
[0.018, 3],
[0.019, 9],
[0.020, 4],
[0.021, 5],
[0.022, 7],
[0.023, 7],
[0.024, 3]
]);
var joinedData=google.visualization.data.join(data1,data2,“full”,
[[0, 0]], [1], [1]);
变量选项={
标题:"游乐场",,
颜色:['#FA7F01','#AEAAA2'],
是的,
哈克斯:{
标题:“x”,
titleTextStyle:{
颜色:“#333”
},
方向:1,,
格式:“十进制”
},
言辞:{
标题:“y”,
方向:1
},
方向:'垂直',
注释:{
总是这样:是的,
茎:{
颜色:“#ff00ff”,
长度:10
},
},
//定制柱
系列:{
0:{type:“stephedarea”},
1:{type:“stephedarea”},
},
};
var view=newgoogle.visualization.DataView(joinedData);
view.setColumns([0,
1.
{
计算:“字符串化”,
资料来源专栏:1,
键入:“字符串”,
角色:“注释”
},
2.
{
计算:“字符串化”,
资料来源专栏:2,
键入:“字符串”,
角色:“注释”
}
]);
var container=document.getElementById('chart_div');
var chart=新的google.visualization.ComboChart(容器);
chart.draw(view.todata(),选项);
}

尝试将此选项添加到您的选项中:

series: {
     0: { targetAxisIndex: 1, },
     1: { targetAxisIndex: 1, },
}

这意味着两个系列都应该使用右侧轴。

通常,您可以使用
targetAxisIndex
将轴移动到右侧,
但这似乎不适用于-->
方向:“垂直”

虽然不理想,但您可以在图表的
'ready'
事件上手动移动轴

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data1=新的google.visualization.DataTable();
data1.addColumn('number','x');
数据1.addColumn('number','y1');
data1.addRows([
[0.005, 3],
[0.006, 6],
[0.007, 5],
[0.008, 8],
[0.009, 2],
[0.010, 5],
[0.011, 5],
[0.012, 4],
[0.013, 8]
]);
var data2=新的google.visualization.DataTable();
数据2.addColumn('number','x');
数据2.addColumn('number','y2');
data2.addRows([
[0.016, 5],
[0.017, 1],
[0.018, 3],
[0.019, 9],
[0.020, 4],
[0.021, 5],
[0.022, 7],
[0.023, 7],
[0.024, 3]
]);
var joinedData=google.visualization.data.join(data1,data2,“full”,
[[0, 0]], [1], [1]);
变量选项={
标题:"游乐场",,
颜色:['#FA7F01','#AEAAA2'],
是的,
哈克斯:{
标题:“x”,
titleTextStyle:{
颜色:“#333”
},
方向:1,,
格式:“十进制”
},
言辞:{
标题:“y”,
方向:1
},
方向:'垂直',
注释:{
总是这样:是的,
茎:{
颜色:“#ff00ff”,
长度:10
},
},
//定制柱
系列:{
0:{type:“stephedarea”},
1:{type:“stephedarea”},
},
图例:{
对齐:“结束”,
位置:'顶部'
}
};
var view=newgoogle.visualization.DataView(joinedData);
view.setColumns([0,
1.
{
计算:“字符串化”,
资料来源专栏:1,
键入:“字符串”,
角色:“注释”
},
2.
{
计算:“字符串化”,
资料来源专栏:2,
键入:“字符串”,
角色:“注释”
}
]);
var container=document.getElementById('chart_div');
var chart=新的google.visualization.ComboChart(容器);
google.visualization.events.addListener(图表'ready',moveAxis);
函数moveAxis(){
var chartLayout=chart.getChartLayoutInterface();
var chartBounds=chartLayout.getChartAreaBoundingBox();
var-labelGap;
var labelIndex=-1;
变异标签宽度;
var xCoord;
变种;
//移动轴标签
var labels=container.getElementsByTagName('text');
Array.prototype.forEach.call(标签,函数(标签){
标签宽度=0;
if(label.getAttribute('text-anchor')=='end'){
labelIndex++;
labelWidth=chartLayout.getBoundingBox('vAxis#0#label#'+labelIndex).width;
labelGap=chartBounds.left-parseFloat(label.getAttribute('x'));
xCoord=chartBounds.left+chartBounds.width+labelWidth+labelGap;
label.setAttribute('x',xCoord);
}else if((label.getAttribute('text-anchor')=='middle')&&(label.hasAttribute('transform')){
yTitle=标签;
}
});
ytile.setAttribute('y',xCoord+92);
//交换轴基线
var lines=container.getElementsByTagName('rect');
Array.prototype.fo