iamjohndev / chartinphp
一个使用 Chart.js 库渲染图表的 PHP 类。
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2024-09-21 10:32:49 UTC
README
ChartinPHP 是一个 PHP 库,允许您使用 ApexCharts 库渲染交互式图表。它提供了一个简单方便的方法,在 PHP 应用程序中创建各种类型的图表。
功能
- 支持多种图表类型,包括折线图、柱状图、饼图等。
- 提供简单直观的 PHP API 用于生成图表选项和数据。
- 使用流行的 ApexCharts JavaScript 库渲染图表。
- 可自定义图表选项和数据以满足您的特定需求。
- 支持在同一页面上使用唯一 ID 渲染多个图表。
要求
- PHP 8.0 或更高版本
- ApexCharts JavaScript 库
安装
- 下载或克隆 ChartinPHP 库到您的 PHP 项目中。
- 使用
require_once
语句在您的 PHP 脚本中包含 ChartinPHP.php 文件。 - 确保您的 HTML 文件中包含 ApexCharts JavaScript 库。您可以从 ApexCharts 网站下载或从 CDN 中包含它。
通过 Composer
composer require iamjohndev/chartinphp:dev-main
使用
创建图表
要创建图表,您需要使用图表选项和数据实例化 ChartinPHP 类。以下是一个示例
// Include the ChartinPHP class file require_once 'ChartinPHP.php'; use iamjohndev\ChartinPHP; // Chart options $chartOptions = array( 'chart' => array( 'type' => 'line', 'height' => 350 ), 'series' => array( array('name' => 'Series 1', 'data' => array(10, 20, 30, 40, 50)) ), 'xaxis' => array( 'categories' => array('January', 'February', 'March', 'April', 'May') ) ); // Chart data $chartData = array( array('month' => 'January', 'value' => 10), array('month' => 'February', 'value' => 20), array('month' => 'March', 'value' => 30), array('month' => 'April', 'value' => 40), array('month' => 'May', 'value' => 50) ); // Instantiate the ChartinPHP class $chart = new ChartinPHP($chartOptions, $chartData); // Render the chart $chart->renderChart();
自定义图表选项和数据
您可以通过使用 ChartinPHP 类的 getChartOptions()、setChartOptions()、getChartData() 和 setChartData() 方法来自定义图表选项和数据。以下是一个示例
// Get the current chart options $currentOptions = $chart->getChartOptions(); // Update the chart options $currentOptions['chart']['type'] = 'bar'; $currentOptions['chart']['height'] = 400; // Set the updated chart options $chart->setChartOptions($currentOptions); // Get the current chart data $currentData = $chart->getChartData(); // Update the chart data $newData = array( array('month' => 'June', 'value' => 60), array('month' => 'July', 'value' => 70), array('month' => 'August', 'value' => 80), array('month' => 'September', 'value' => 90), array('month' => 'October', 'value' => 100) ); $chart->setChartData($newData); // Render the updated chart $chart->renderChart();
在同一页面上渲染多个图表
您可以通过创建具有唯一 ID 的 ChartinPHP 类的多个实例在同一页面上渲染多个图表。以下是一个示例
// Chart 1 options and data $chart1Options = array( // chart options for chart 1 ); $chart1Data = array( // chart data for chart 1 ); // Instantiate chart 1 $chart1 = new ChartinPHP($chart1Options, $chart1Data); // Render chart 1 $chart1->renderChart('chart1'); // specify unique ID 'chart1' // Chart 2 options and data $chart2Options = array( // chart options for chart 2 ); $chart2Data = array( // chart data for chart 2 ); // Instantiate chart 2 $chart2 = new ChartinPHP($chart2Options, $chart2Data); // Render chart 2 $chart2->renderChart('chart2'); // specify unique ID 'chart2'
确保在调用 renderChart() 方法时为每个图表指定唯一的 ID,以便它们可以在同一页面上单独渲染。
在图表选项中覆盖图表类型
如果您想覆盖初始图表选项中指定的图表类型,可以使用 ChartinPHP 类的 setChartType() 方法。以下是一个示例
// Set initial chart type as 'line' $chartOptions = array( 'chart' => array( 'type' => 'line' ), // other chart options ); // Instantiate the ChartinPHP class with initial chart options $chart = new ChartinPHP($chartOptions, $chartData); // Override chart type to 'bar' $chart->setChartType('bar'); // Render the chart with overridden chart type $chart->renderChart();
这将根据覆盖的图表类型渲染图表,而不是初始图表选项中指定的折线图。
结论
ChartinPHP 为 PHP 应用程序中生成交互式图表提供了方便的方法。您可以自定义图表选项、数据,甚至覆盖图表类型以满足您的特定需求。通过支持在同一页面上渲染多个图表,ChartinPHP 允许您为您的网络应用程序创建动态和吸引人的可视化效果。
有关更多信息,请参阅 ApexCharts 文档和 ChartinPHP GitHub 仓库。