@timurusubyan

Как изменить цвет графика в morris js с определенной даты?

Привет. Есть график от morris js Bar

Вывожу показатели по просмотрам из бд. Устанавливаю цвет синий и другие данные. Как изменить цвет графика с того дня как началась реклама и оставить таким на все дни рекламы, после окончания рекламы и до начала рекламы оставить стандартный цвет. Вывести два цвета в один день я знаю как, это не подходит. Нужно изменить цвет графика во время рекламы на другой, только в рекламные дни.

Допустим до рекламы и после - синий
Во время рекламы - зеленый.

Просмотры выводятся за каждый день общим количеством.

$res = $sth->fetchAll(PDO::FETCH_ASSOC);

$list = array();
foreach ($res as $row) {
	$list[] = array('created_at' => date('d.m.Y', strtotime($row['created_at'])), 'counter' => $row['counter']);
}


Morris.Bar({
	element: 'visits',
    resize: true,
    data: 
	 <?php echo json_encode($list); ?>
	,
	xkey: 'created_at',
	ykeys: ['counter'],
	labels: ['Просмотры'],
    yLabelFormat: function(y){return y != Math.round(y)?'':y;},
    hideHover: true,
    barColors: ['#428bca'],
    redraw: true,
    stacked: true
});
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
Immortal_pony
@Immortal_pony Куратор тега PHP
barColors: function (row, series, type) {
    const withAd = true; // либо в PHP добавьте этот флаг, либо тут по датам определите
    return withAd ? "green" : "blue";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы