Javascript 如何根据行数设置谷歌图表高度?
我有一个谷歌堆叠条形图,它从数据库中提取数据,并根据所述数据绘制图表。我能够四处搜索,并找到一种基于行数动态设置高度的方法——但对于我的一个搜索过滤器来说,图表看起来太离谱了 下面的代码适用于我的5个过滤器中的4个,但在第5个过滤器中,行数变得更大(大约40-50行) 代码: 生成以下结果。这第一个图像是我的5个过滤器中的4个看起来像什么 第二张图片是有问题的那张,它表明我显然做错了什么 这是什么原因?我如何解决它 编辑:我怀疑我的问题是以下之一:Javascript 如何根据行数设置谷歌图表高度?,javascript,charts,asp.net-core,google-visualization,Javascript,Charts,Asp.net Core,Google Visualization,我有一个谷歌堆叠条形图,它从数据库中提取数据,并根据所述数据绘制图表。我能够四处搜索,并找到一种基于行数动态设置高度的方法——但对于我的一个搜索过滤器来说,图表看起来太离谱了 下面的代码适用于我的5个过滤器中的4个,但在第5个过滤器中,行数变得更大(大约40-50行) 代码: 生成以下结果。这第一个图像是我的5个过滤器中的4个看起来像什么 第二张图片是有问题的那张,它表明我显然做错了什么 这是什么原因?我如何解决它 编辑:我怀疑我的问题是以下之一: 在使用最新的搜索参数刷新页面时,数据行的计
在使用最新的搜索参数刷新页面时,数据行的计数不正确,或者我的div设置和交互方式有问题。我已经尝试过调整
图表高度后面的数学,并删除了填充,似乎无论哪种方式都有相同的效果。我是在正确的轨道上,还是缺少了其他东西?需要为高度和图表区.高度设置选项
var paddingHeight = 40;
var rowHeight = data.getNumberOfRows() * 50;
var chartHeight = rowHeight + paddingHeight;
var options = {
titlePosition: 'none',
width: 1400,
height: chartHeight,
chartArea: {
height: rowHeight,
},
legend: { position: 'top', maxLines: 3 },
bar: { groupWidth: '50%' },
isStacked: true,
hAxis: {
title: 'Business Hours (excluding weekends & holidays)'
},
colors: ['#0066ff', '#33cc33', '#ffcc00', '#ff0000'],
annotations: {
alwaysOutside: true,
textStyle: {
color: '#000000'
}
}
}
在这里,建议使用rowHeight
作为chartArea.height
var paddingHeight = 40;
var rowHeight = data.getNumberOfRows() * 50;
var chartHeight = rowHeight + paddingHeight;
var options = {
titlePosition: 'none',
width: 1400,
height: chartHeight,
chartArea: {
height: rowHeight,
},
legend: { position: 'top', maxLines: 3 },
bar: { groupWidth: '50%' },
isStacked: true,
hAxis: {
title: 'Business Hours (excluding weekends & holidays)'
},
colors: ['#0066ff', '#33cc33', '#ffcc00', '#ff0000'],
annotations: {
alwaysOutside: true,
textStyle: {
color: '#000000'
}
}
}
您需要为图例、y轴等留出一些空间
chartArea
具有以下属性
top
左侧
高度
宽度
您需要将top
设置为20
,或者如果legend在上面的话,也可以设置其他功能。希望这有助于演示……嘿,非常感谢您的快速响应!看起来我很接近,但不知道chartArea选项,所以谢谢你!看起来我可以用bottom
做一些类似的事情,让我的数字也显示出来,这很好。我还注意到,在我的屏幕截图中,第二张图表将图例错开到第二行-有没有办法解决这一问题,使其始终为一行,而不是分成两行?如果可能,请您简要解释一下在设置高度而不是图表区高度时,我的图表发生了什么?我这样问是因为如果我没有一组足够大的数据来发现这个问题,我可能会以错误的方式处理这个问题,并且可能会在接下来的过程中遇到麻烦。尽管正在设置高度,chartArea.height
使用了一些默认数字,例如,如果整体高度为100
,并且您想在底部分别为图例和y轴保留20
,那么您可以设置-->高度:100
,chartArea.height:60
,chartArea.top:20
——默认情况下底部保留20
——注意:bottom
没有属性——对于图例行,只需要足够宽,或者尝试使用legend.maxLines:1
很酷——bottom
未在配置选项中列出——但添加了,连同右侧
。。。