2017-02-21 21 views
0

У меня есть диаграмма google, которая отлично работает, если есть некоторые данные. Но иногда нет данных для показа. В этом случае vAxis автоматически решает показать только 3 значения: 0.0, 0.5 и 1.0. В моем случае имеет смысл показывать только целые числа. Так что я пытался использоватьКак установить минимальный интервал для vAxis в графиках Google?

vAxis: { viewWindow: { min: 0 }, format: 0 } 

Но тогда это только округляет и показывает: 0, 1, 1. Я бы скорее нужен минимальный интервал от 1, чтобы увидеть значения: 0, 1, 2 и так далее ,

Как я могу это достичь?

Пожалуйста, не стесняйтесь играть с этой скрипкой: click here.

ответ

0

Согласно предложению WhiteHat, это мое решение для этой проблемы. Я не нашел простой способ с какой-то Google вариантов диаграмм, но это простое решение, которое делает именно то, что мне нужно:

google.charts.load('current', { 
 
    callback: drawChart, 
 
    packages: ['corechart'] 
 
}); 
 

 
var maxValue = 7; 
 

 
function drawChart() { 
 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('date', 'Date'); 
 
    data.addColumn('number', 'Count'); 
 
    data.addRows([ 
 
    [new Date(2017, 1, 1), 0], 
 
    [new Date(2017, 1, 2), 0], 
 
    [new Date(2017, 1, 3), 7], 
 
    [new Date(2017, 1, 4), 0], 
 
    [new Date(2017, 1, 5), 0], 
 
    ]); 
 

 
    var options = { 
 
    title: 'Test', 
 
    legend: 'none', 
 
    width: 450, 
 
    height: 500 
 
    }; 
 

 
options["vAxis"] = (maxValue < 5) ? { viewWindow: { min: 0 }, ticks: [0, 1, 2, 3, 4] } : 
 
        (maxValue < 9) ? { viewWindow: { min: 0 }, ticks: [0, 2, 4, 6, 8] } : 
 
        (maxValue < 13) ? { viewWindow: { min: 0 }, ticks: [0, 3, 6, 9, 12] } : { viewWindow: { min: 0 } }; 
 

 
    var linearChart = new google.visualization.LineChart(document.getElementById('div')); 
 
    linearChart.draw(data, options); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="div"></div>