yggverse/graph

PHP library to build JS-less graphs

0.2.2 2024-01-24 01:06 UTC

This package is auto-updated.

Last update: 2024-11-24 02:53:38 UTC


README

PHP library to build JS-less graphs

Calendar

Build calendar graphs with unlimited chart layers

Month

yggverse-graph-php-example

Examples
  • YGGstate - Yggdrasil Network Explorer
  • HLState - Web Monitor for Half-Life Servers
Usage
Server-side
// Init current month
$calendarMonth = new Yggverse\Graph\Calendar\Month(
  time(),       // optional, custom timestamp
  CAL_GREGORIAN // optional, define the calendar type (https://www.php.net/manual/en/calendar.constants.php)
);

// Let's build some random graphs for each day in this month
foreach ($calendarMonth->getNodes() as $day => $node)
{
  // Register first layer data
  $calendarMonth->addNode(
    $day,          // required, number of day, on this example we are processing all of days in the initiated month
    rand(1, 1000), // required, set some digit value for this day and current layer
    'label 0',     // optional, label text that could be displayed on element over
    'class-name',  // optional, customize output with CSS class
    0              // optional, define chart layer if you want to build multiple charts in single day case
                   // e.g. 1, 2, 3... or some keyword. first layer has 0 index by default.
  );

  // Make second layer for hourly stats in tis day with few variables
  for ($hour = 0; $hour < 24; $hour++)
  {
    // To build independent chart layer, make sure that layer attribute increased, for example to 1
    $calendarMonth->addNode($day, rand(0, 1000), 'my hourly label 1, 'my-class-name-1', 1);
    $calendarMonth->addNode($day, rand(0, 1000), 'my hourly label 2, 'my-class-name-2', 1);
  }
}
Client-side

To make your own implementation, play with:

var_dump(
  $calendarMonth->getNodes()
);