mirror of
https://github.com/YGGverse/graph-php.git
synced 2026-03-31 17:45:31 +00:00
Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6d6685416 | ||
|
|
291059ea96 | ||
|
|
72ee9ec227 | ||
|
|
cdc2217187 | ||
|
|
5e50c06e0b | ||
|
|
405625337c | ||
|
|
ba577fed13 |
3 changed files with 12 additions and 10 deletions
|
|
@ -7,11 +7,12 @@ Build calendar graphs with unlimited chart layers
|
||||||
|
|
||||||
#### [Month](https://github.com/YGGverse/graph-php/blob/main/src/Calendar/Month.php)
|
#### [Month](https://github.com/YGGverse/graph-php/blob/main/src/Calendar/Month.php)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
##### Live examples
|
##### Examples
|
||||||
|
|
||||||
* [http://94.140.114.241/yggstate](http://94.140.114.241/yggstate)
|
* [YGGstate](https://github.com/YGGverse/YGGstate) - Yggdrasil Network Explorer
|
||||||
|
* [HLState](https://github.com/YGGverse/HLState) - Web Monitor for Half-Life Servers
|
||||||
|
|
||||||
##### Usage
|
##### Usage
|
||||||
|
|
||||||
|
|
@ -58,4 +59,4 @@ To make your own implementation, play with:
|
||||||
var_dump(
|
var_dump(
|
||||||
$calendarMonth->getNodes()
|
$calendarMonth->getNodes()
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.9 KiB |
|
|
@ -35,18 +35,19 @@ class Month
|
||||||
|
|
||||||
public function getNodes() : object
|
public function getNodes() : object
|
||||||
{
|
{
|
||||||
// Calculate month totals
|
// Calculate max value
|
||||||
$total = [];
|
$max = 0;
|
||||||
|
|
||||||
foreach ($this->_node as $i => $day)
|
foreach ($this->_node as $i => $day)
|
||||||
{
|
{
|
||||||
foreach ($day as $l => $layer)
|
foreach ($day as $l => $layer)
|
||||||
{
|
{
|
||||||
$total[$i][$l] = 0;
|
|
||||||
|
|
||||||
foreach ($layer as $data)
|
foreach ($layer as $data)
|
||||||
{
|
{
|
||||||
$total[$i][$l] += $data['value'];
|
if ($data['value'] > $max)
|
||||||
|
{
|
||||||
|
$max = $data['value'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -66,8 +67,8 @@ class Month
|
||||||
// Calculate column width, height, offset
|
// Calculate column width, height, offset
|
||||||
foreach ($layer as $j => $data)
|
foreach ($layer as $j => $data)
|
||||||
{
|
{
|
||||||
|
$this->_node[$i][$l][$j]['height'] = $max ? ceil($data['value'] / $max * 100) : 0;
|
||||||
$this->_node[$i][$l][$j]['width'] = $width;
|
$this->_node[$i][$l][$j]['width'] = $width;
|
||||||
$this->_node[$i][$l][$j]['height'] = $total[$i][$l] ? ceil($data['value'] / $total[$i][$l] * 100) : 0;
|
|
||||||
$this->_node[$i][$l][$j]['offset'] = $width * $j;
|
$this->_node[$i][$l][$j]['offset'] = $width * $j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue