PHPackages                             weims/chart - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. weims/chart

ActiveLibrary

weims/chart
===========

Supports Chinese PHP chart extension package

1.0(5y ago)23MITPHPPHP &gt;=5.3.0

Since Oct 29Pushed 5y ago2 watchersCompare

[ Source](https://github.com/yimengyisheng/easycharts)[ Packagist](https://packagist.org/packages/weims/chart)[ RSS](/packages/weims-chart/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

EasyChart
=========

[](#easychart)

Supports Chinese PHP chart extension package

Features
--------

[](#features)

- Bar charts (horizontal or vertical).
- Line charts.
- Pie charts.
- Single or multiple data sets.

Installation
------------

[](#installation)

Add weims/chart to your composer.json file:

```
"require": {
  "weims/chart": "1.0"
}

```

Use composer to install this package.

```
$ composer update

```

Examples
--------

[](#examples)

Vertical Bar Chart
------------------

[](#vertical-bar-chart)

```
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();
```

[![Vertical Bar](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/vertical_bar.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/vertical_bar.png)

Horizontal Bar Chart
--------------------

[](#horizontal-bar-chart)

```
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();
```

[![Horizontal Bar](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/horizontal_chart.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/horizontal_chart.png)

Pie Chart
---------

[](#pie-chart)

```
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();
```

[![Pie Chart](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/pie_chart.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/pie_chart.png)

Multiple line chart
-------------------

[](#multiple-line-chart)

```
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();
```

[![Multiple Line Chart](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/multiple_line_chart.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/multiple_line_chart.png)

Multiple vertical bar chart
---------------------------

[](#multiple-vertical-bar-chart)

```
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();
```

[![Multiple Vertical Bar](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/images/multiple_vertical_bar_chart.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/images/multiple_vertical_bar_chart.png)

Multiple horizontal bar chart
-----------------------------

[](#multiple-horizontal-bar-chart)

```
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();
```

[![Multiple Horizontal Bar](https://github.com/yimengyisheng/easycharts/raw/main/docs/images/multiple_horizontal_bar_chart.png)](https://github.com/yimengyisheng/easycharts/blob/main/docs/images/multiple_horizontal_bar_chart.png)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2027d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39474432?v=4)[Qin Shi Huang](/maintainers/yimengyisheng)[@yimengyisheng](https://github.com/yimengyisheng)

---

Top Contributors

[![yimengyisheng](https://avatars.githubusercontent.com/u/39474432?v=4)](https://github.com/yimengyisheng "yimengyisheng (3 commits)")

### Embed Badge

![Health badge](/badges/weims-chart/health.svg)

```
[![Health](https://phpackages.com/badges/weims-chart/health.svg)](https://phpackages.com/packages/weims-chart)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
