Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Время от времени - и не так чтобы редко - на форуме звучат вопросы по нативному PHP... решили собирать их в этой ветке.
Визуализация данных API Яндекс.Метрика посредством Highcharts
- Aleksej
- Автор темы
- Не в сети
- Модератор
Less
Больше
4 года 10 мес. назад - 4 года 10 мес. назад #1
от Aleksej
Aleksej создал тему: Визуализация данных API Яндекс.Метрика посредством Highcharts
К материалу
Визуализация данных API Яндекс.Метрика посредством Highcharts
.
index.php
style.css
index.php
Code:
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>TOP 10 Visitors to Masterpro.ws (without Russia, Ukraine and Belarus) by Countries</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<!-- Flag sprites service provided by Martijn Lafeber,
https://github.com/lafeber/world-flags-sprite/blob/master/LICENSE -->
<link rel="stylesheet" href="https://github.com/downloads/lafeber/world-flags-sprite/flags16.css" />
<div id="container"></div>
<?php
function curl_file_get_contents($url) {
$authToken = '*********************************';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-yametrika+json', 'Authorization: OAuth' . $authToken]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$obj = curl_exec($ch);
curl_close($ch);
return $obj;
}
$url = 'https://api-metrika.yandex.ru/stat/v1/data';
$params = array('ids' => '*********', 'metrics' => 'ym:s:visits', 'dimensions' => 'ym:s:regionCountry', 'date1' => '8daysAgo', 'date2' => 'yesterday', 'lang' => 'en');
$obj = curl_file_get_contents($url . '?' . http_build_query($params));
$obj = json_decode($obj, true);
$arr = array();
for ($i = 0;$i < 13;$i++) {
$a = $obj['data'][$i]['dimensions'][0]['name'];
$b = $obj['data'][$i]['metrics']['0'] . ',';
$c = $obj['data'][$i]['dimensions'][0]['iso_name'];
if ($a != 'Russia' && $a != 'Ukraine' && $a != 'Belarus') {
$arr[] = $b;
$arr1[] = '\'' . $a . ' <span class="f16"><span id="flag" class="flag ' . mb_strtolower($c) . '">\' + \'</span></span>\',';
}
}
?>
<script>
Highcharts.chart('container', {
colors: ['#6699FF'],
chart: {
type: 'column',
inverted: true,
polar: true
},
title: {
text: 'TOP 10 Visitors (without Russia, Ukraine and Belarus) by Countries'
},
subtitle: {
text: 'Masterpro.ws'
},
tooltip: {
outside: true
},
pane: {
size: '85%',
endAngle: 270
},
xAxis: {
tickInterval: 1,
labels: {
align: 'right',
useHTML: true,
allowOverlap: true,
step: 1,
y: 4,
style: {
fontSize: '12px'
}
},
lineWidth: 0,
categories: [
<?php foreach ($arr1 as $i) {
echo $i;
}; ?>]
},
yAxis: {
lineWidth: 0,
tickInterval: 25,
reversedStacks: false,
endOnTick: true,
showLastLabel: true
},
plotOptions: {
column: {
stacking: 'normal',
borderWidth: 0,
pointPadding: 0,
groupPadding: 0.15
}
},
credits: {
enabled: false
},
series: [{
showInLegend: false,
name: 'Number of visits',
data: [
<?php foreach ($arr as $i) {
echo $i;
}; ?>]
}]
});
</script>
</body>
</html>
style.css
Code:
#container {
min-width: 310px;
max-width: 800px;
height: 600px;
margin: 0 auto;
} ?>
Последнее редактирование: 4 года 10 мес. назад пользователем Aleksej.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Вебмастер
- Не в сети
- Давно я тут
Less
Больше
- Сообщений: 88
- Спасибо получено: 0
1 год 4 мес. назад #2
от Вебмастер
Вебмастер ответил в теме Визуализация данных API Яндекс.Метрика посредством Highcharts
Флаги перестали отображаться.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
Less
Больше
- Сообщений: 986
- Спасибо получено: 146
1 год 4 мес. назад #3
от serge
github.com/lafeber/world-flags-sprite/issues/63
Можно так:
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Визуализация данных API Яндекс.Метрика посредством Highcharts
Скачайте стили css со спрайтом, девелопер перестал поддерживать этот проект:Флаги перестали отображаться.
github.com/lafeber/world-flags-sprite/issues/63
Можно так:
Code:
npm i world-flags-sprite
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.