weims / chart
支持中文PHP图表扩展包
1.0
2020-10-29 03:52 UTC
Requires
- php: >=5.3.0
README
支持中文PHP图表扩展包
特性
- 条形图(水平或垂直)。
- 折线图。
- 饼图。
- 单数据集或多数据集。
安装
将weims/chart添加到您的composer.json文件中
"require": {
"weims/chart": "1.0"
}
使用composer安装此包。
$ composer update
示例
垂直条形图
use Wobeto\EasyChart\VerticalBarChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\Point; $chart = new VerticalBarChart(500,250); $dataSet = new XYDataSet(); $dataSet->addPoint(new Point("2014", 285)); $dataSet->addPoint(new Point("2015", 34)); $chart->setDataSet($dataSet); $chart->setTitle("Annual usage for easychart"); echo $chart->render();
水平条形图
use Wobeto\EasyChart\HorizontalBarChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\Point; use Wobeto\EasyChart\View\Primitive\Padding; $chart = new HorizontalBarChart(500, 250); $dataSet = new XYDataSet(); $dataSet->addPoint(new Point("/wiki/Instant_messenger", 20)); $dataSet->addPoint(new Point("/wiki/Web_Browser", 35)); $dataSet->addPoint(new Point("/wiki/World_Wide_Web", 68)); $chart->setDataSet($dataSet); $chart->getPlot()->setGraphPadding(new Padding(5, 30, 20, 140)); $chart->setTitle("Most visited pages"); echo $chart->render();
饼图
use Wobeto\EasyChart\PieChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\Point; $chart = new PieChart(500, 300); $dataSet = new XYDataSet(); $dataSet->addPoint(new Point("Mozilla Firefox", 46)); $dataSet->addPoint(new Point("Chrome", 40)); $dataSet->addPoint(new Point("Internet Explorer", 12)); $dataSet->addPoint(new Point("Others", 2)); $chart->setDataSet($dataSet); $chart->setLabelFormat('%01.2f%%'); $chart->setTitle("User agents for www.example.com"); echo $chart->render();
多折线图
use Wobeto\EasyChart\LineChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\XYSeriesDataSet; use Wobeto\EasyChart\Model\Point; $chart = new LineChart(); $serie1 = new XYDataSet(); $serie1->addPoint(new Point("06-01", 273)); $serie1->addPoint(new Point("06-02", 421)); $serie1->addPoint(new Point("06-03", 642)); $serie1->addPoint(new Point("06-04", 799)); $serie1->addPoint(new Point("06-05", 1009)); $serie1->addPoint(new Point("06-06", 1106)); $serie2 = new XYDataSet(); $serie2->addPoint(new Point("06-01", 280)); $serie2->addPoint(new Point("06-02", 300)); $serie2->addPoint(new Point("06-03", 212)); $serie2->addPoint(new Point("06-04", 542)); $serie2->addPoint(new Point("06-05", 600)); $serie2->addPoint(new Point("06-06", 850)); $serie3 = new XYDataSet(); $serie3->addPoint(new Point("06-01", 180)); $serie3->addPoint(new Point("06-02", 400)); $serie3->addPoint(new Point("06-03", 512)); $serie3->addPoint(new Point("06-04", 642)); $serie3->addPoint(new Point("06-05", 700)); $serie3->addPoint(new Point("06-06", 900)); $serie4 = new XYDataSet(); $serie4->addPoint(new Point("06-01", 280)); $serie4->addPoint(new Point("06-02", 500)); $serie4->addPoint(new Point("06-03", 612)); $serie4->addPoint(new Point("06-04", 742)); $serie4->addPoint(new Point("06-05", 800)); $serie4->addPoint(new Point("06-06", 1000)); $serie5 = new XYDataSet(); $serie5->addPoint(new Point("06-01", 380)); $serie5->addPoint(new Point("06-02", 600)); $serie5->addPoint(new Point("06-03", 712)); $serie5->addPoint(new Point("06-04", 842)); $serie5->addPoint(new Point("06-05", 900)); $serie5->addPoint(new Point("06-06", 1200)); $dataSet = new XYSeriesDataSet(); $dataSet->addSerie("Product 1", $serie1); $dataSet->addSerie("Product 2", $serie2); $dataSet->addSerie("Product 3", $serie3); $dataSet->addSerie("Product 4", $serie4); $dataSet->addSerie("Product 5", $serie5); $chart->setDataSet($dataSet); $chart->setTitle("Sales for 2014"); $chart->getPlot()->setGraphCaptionRatio(0.62); echo $chart->render();
多垂直条形图
use Wobeto\EasyChart\VerticalBarChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\XYSeriesDataSet; use Wobeto\EasyChart\Model\Point; $chart = new VerticalBarChart(); $serie1 = new XYDataSet(); $serie1->addPoint(new Point("YT", 64)); $serie1->addPoint(new Point("NT", 63)); $serie1->addPoint(new Point("BC", 58)); $serie1->addPoint(new Point("AB", 58)); $serie1->addPoint(new Point("SK", 46)); $serie2 = new XYDataSet(); $serie2->addPoint(new Point("YT", 61)); $serie2->addPoint(new Point("NT", 60)); $serie2->addPoint(new Point("BC", 56)); $serie2->addPoint(new Point("AB", 57)); $serie2->addPoint(new Point("SK", 52)); $dataSet = new XYSeriesDataSet(); $dataSet->addSerie("2013", $serie1); $dataSet->addSerie("2014", $serie2); $chart->setDataSet($dataSet); $chart->getPlot()->setGraphCaptionRatio(0.65); $chart->setTitle("Average family income (k$)"); echo $chart->render();
多水平条形图
use Wobeto\EasyChart\HorizontalBarChart; use Wobeto\EasyChart\Model\XYDataSet; use Wobeto\EasyChart\Model\XYSeriesDataSet; use Wobeto\EasyChart\Model\Point; $chart = new HorizontalBarChart(500, 250); $serie1 = new XYDataSet(); $serie1->addPoint(new Point("18-24", 22)); $serie1->addPoint(new Point("25-34", 17)); $serie1->addPoint(new Point("35-44", 20)); $serie1->addPoint(new Point("45-54", 25)); $serie2 = new XYDataSet(); $serie2->addPoint(new Point("18-24", 13)); $serie2->addPoint(new Point("25-34", 18)); $serie2->addPoint(new Point("35-44", 23)); $serie2->addPoint(new Point("45-54", 22)); $dataSet = new XYSeriesDataSet(); $dataSet->addSerie("Male", $serie1); $dataSet->addSerie("Female", $serie2); $chart->setDataSet($dataSet); $chart->setTitle("Firefox vs Chrome users: Age"); echo $chart->render();