我无法正确缩放图表。我的图表以24小时格式表示一天中每小时的数据,这意味着我需要在线图上显示数字0-24。
我尝试将logScale
,minValue
和maxValue
属性添加到hAxis
,但没有任何效果。
正如您在图表上看到的那样,hour
轴未在0-24
小时内跨越固定轴,而是从9-15
小时开始。
我的数据集中只有3行,它们位于小时9
,14
和15
。尽管如此,这些线条从9-14
开始,就像它们有价值一样;但是那里没有数据,因此这些线应该在这两点之间的0
处沿着底部运行。
如何在我的图表上放置一个固定的水平刻度,并且每小时在我的线上都有单独的值?
这是我的代码:
google.load('visualization', '1.1', {packages: ['line']});
google.setOnLoadCallback(drawChart);
function drawChart()
{
var json = $.getJSON('my JSON data link', function(data)
{
var chartStructure = new google.visualization.DataTable();
var chartData = [];
chartStructure.addColumn('number', 'Hour');
chartStructure.addColumn('number', 'Pageviews');
chartStructure.addColumn('number', 'Unique Pageviews');
chartStructure.addColumn('number', 'Sales');
chartStructure.addColumn('number', 'Earnings in $AUD');
for (i = 0; i < data.length; i++)
{
chartData[i] = [];
chartData[i][0] = parseInt(data[i].hour);
chartData[i][1] = parseFloat(data[i].profit);
chartData[i][2] = parseFloat(data[i].profit);
chartData[i][3] = parseFloat(data[i].sales);
chartData[i][4] = parseFloat(data[i].profit);
// These chartData values are not correct because I am testing
chartStructure.addRows(chartData);
}
var options = {
hAxis: {
'minValue': 0,
'maxValue': 24
}
};
var chart = new google.charts.Line(document.getElementById('todays-total-sales'));
chart.draw(chartStructure, options);
});
}
$(window).resize(function()
{
drawChart();
});
答案 0 :(得分:1)
使用viewWindow
。
hAxis: {
title: 'Time',
viewWindow:{
max:1000,
min:-100
}
},
<强>更新强>
如果您使用 MaterialCharts ,请注意选项有different syntax!
为了能够使用经典选项,您需要更改
chart.draw(data, options);
到
chart.draw(data, google.charts.Line.convertOptions(options));
HERE是您更新的小提琴。
答案 1 :(得分:0)
var options = {
title: "Posted Memes",
width: 450,
height: 300,
is3D:true,
bar: { groupWidth: "95%" },
legend: { position: "none" },
vAxis: {
title: 'No of Memes',
viewWindowMode: 'explicit',
viewWindow: {
max: 180,
min: 0,
interval: 1,
},
}
};