Forum


Replies: 1   Views: 189
Combine 2 charts

Posted by deweb  · 10-06-2024 - 14:34

Hello

Is it possible to combine 2 types of chart into one?In my case colChart and linechart.

For example :

https://ibb.co/TMWd0Dj

Thanks in advance

Posted by admin  · 10-06-2024 - 14:45

Hello,

Yes, you can generate combo charts using comboChart and returnChart options:

Chart to add as a combo chart. Use with the returnChart option. Global styles and properties are shared with the base chart. For bar, col, line, area, and radar charts.

The following sample included in the package (examples/addChart/sample_14.php) generates a combo chart with col and line chart types:

// generate the first chart as WordFragment
$chartFragment = new WordFragment($docx);

$data = array(
    'legend' => array('Series 4', 'Series 5'),
    'data' => array(
        array(
            'name' => 'data A',
            'values' => array(40, 30),
        ),
        array(
            'name' => 'data B',
            'values' => array(50, 60),
        ),
        array(
            'name' => 'data C',
            'values' => array(10, 70),
        ),
        array(
            'name' => 'data D',
            'values' => array(20, 60),
        ),
    ),
);
$paramsChart = array(
    'data' => $data,
    'type' => 'lineChart',
    'symbol' => 'none',
    'smooth' => true,
    'returnChart' => true,
);
$comboChart = $chartFragment->addChart($paramsChart);

$data = array(
    'legend' => array('Series 1', 'Series 2', 'Series 3'),
    'data' => array(
        array(
            'name' => 'data 1',
            'values' => array(10, 7, 5),
        ),
        array(
            'name' => 'data 2',
            'values' => array(20, 60, 3),
        ),
        array(
            'name' => 'data 3',
            'values' => array(50, 33, 7),
        ),
        array(
            'name' => 'data 4',
            'values' => array(25, 0, 14),
        ),
    ),
);
$paramsChart = array(
    'data' => $data,
    'comboChart' => $comboChart, // set the first chart to be added
    'type' => 'colChart',
    'color' => '2',
    'perspective' => '10',
    'rotX' => '10',
    'rotY' => '10',
    'chartAlign' => 'center',
    'sizeX' => '10',
    'sizeY' => '10',
    'legendPos' => 'none',
    'legendOverlay' => '0',
    'border' => '1',
    'hgrid' => '3',
    'vgrid' => '0',
    'groupBar' => 'clustered',
);
$docx->addChart($paramsChart);

$docx->createDocx('example_addChart_14');

Regards.