#php #graph #charts #linechart
#php #График #Диаграммы #линейная диаграмма
Вопрос:
У меня есть 2 массива;
x = 800,1650,2450,3200,4150,5250,6200,7150,8000
y = 800,850,800,750,950,1100,950,950,850
Я хочу показать их на одной линейной диаграмме. ‘Array x’ будет моей осью X, а ‘Array y’ будет моей осью Y.
Также я объединил эти 2 массива в один массив,
$arrgraph = array_combine($y, $x);
Если я могу показать это на своей диаграмме, это тоже нормально.
Я новичок в php, я искал, но не смог найти, как это сделать. Все примеры касаются только одного массива. Кто-нибудь может мне помочь по этому поводу? Или я могу создать эту диаграмму с помощью HTML?
Спасибо!
Комментарии:
1. В PHP нет функции
do_graph($x, $y);
, вам нужно будет найти библиотеку для этого. Кроме того, получение рекомендаций по библиотекам не относится к теме StackOverflow.2. Я понимаю, могу ли я сделать это с помощью HTML? Или мне тоже нужно найти библиотеку для этого?
Ответ №1:
Yoc может сделать это при поддержке библиотеки CanvasJS
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer",
{
title:{
text: "Multi-Series Line Chart"
},
data: [
{
type: "line", //you can echo php array here as dataPoints variable
dataPoints: [
{ x: 10, y: 21 },
{ x: 20, y: 25},
{ x: 30, y: 20 },
{ x: 40, y: 25 },
{ x: 50, y: 27 },
{ x: 60, y: 28 },
{ x: 70, y: 28 },
{ x: 80, y: 24 },
{ x: 90, y: 26}
]
}
]
});
chart.render();
}
</script>
<script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.min.js"></script></head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;">
</div>
</body>
</html>
Для получения более подробной информации посетите базовую многорядную диаграмму
Комментарии:
1. Спасибо за ответ! Но есть ли какой-либо способ, которым я могу это сделать, не вводя цифры вручную в точки данных? Могу ли я взять их непосредственно из массива (ов)?
2. посмотрите мой комментарий в коде «// вы можете отобразить массив php здесь как переменную DataPoints» вы можете создать массив DataPoint, используя foreach из php array