Дата по оси H с логарифмической шкалой (Google Chart) - PullRequest
0 голосов
/ 24 июня 2018

Мне нужна логарифмическая шкала для оси H, отформатированная как DATE.

В этом примере вы можете увидеть H-ось (0-100), визуализированную как логарифмическую шкалу, нет проблем.Мне нужен этот масштаб, чтобы быть актуальными датами.Я знаю, что если у вас есть 2 даты или 2 отметки времени, вы не можете просто между ними ввести log .

Попытка

x (ось H)PAST_SECONDS предоставил 0-100 на тот случай, если я захочу посмотреть назад на 100 секунд.

Проблема

Как только я использую значение, отличное от даты и времени, я невозможность отформатировать PAST SECONDS в хорошо отформатированную дату.Форматирование будет выглядеть следующим образом: TIMESTAMP + PAST_SECONDS

Вопрос

Есть ли способ получить обратный вызов форматирования или же для меток оси H?Если нет, есть ли способ получить отформатированную дату (из PAST_SECONDS) во всплывающее окно?

Пример с PAST_SECONDS в качестве оси H (x)

var chart_options = {
  hAxis: {
    logScale: true,
    direction: -1,
  },
  vAxes: {
    0: {
      title: 'A',
      viewWindowMode:'explicit',
      viewWindow: {
        max:100,
        min:1
      },
      gridlines: {style: "dashed",},
    },
    1: {
      title: 'B',
      viewWindowMode:'explicit',
      viewWindow: {
        max:100,
        min:1
      },
      gridlines: {color: 'transparent'},
    },
  },
  series: {
    0: {
      type: 'line',
      targetAxisIndex:0,
      color: '#C0504E',
    },
    1: {
      type: 'area',
      targetAxisIndex:1,
      color: '#4F81BC'
    }
  },
};

google.charts.load('current', {'packages':['corechart'], 'language': 'en'});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
    chart = new google.visualization.ComboChart($('#chart').get(0));
    chart_data = new google.visualization.DataTable();
    chart_data.addColumn('number', 'x');
    chart_data.addColumn('number', 'A');
    chart_data.addColumn('number', 'B');
    for( var i = 0; i < 100; i++ ) {
      chart_data.addRow([
        i,
        Math.round(Math.random()*10)+70,
        Math.round(Math.random()*20)+20
      ]);
    }
    chart.draw(chart_data, chart_options);  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...