5

ライブラリPHPExcel(1.7.7)に問題があります。円グラフを作成しようとすると、ラベルと凡例が表示されません。ただし、他のグラフィックでは、その問題はありません。解決策はありますか?

ありがとう。

使用されるコードは次のとおりです。

$categories = array(
new PHPExcel_Chart_DataSeriesValues('String', 'RECAPITULATIF!$B$6:$B$8', null, 3),
    );

$values = array(
new PHPExcel_Chart_DataSeriesValues('Number',  'RECAPITULATIF!$F$6:$F$8', null, 3),
);

$series = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_PIECHART,       // plotType
    PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED,  // plotGrouping
    array(0),                                       // plotOrder
    null,                                           // plotLabel
    $categories,                                    // plotCategory
    $values                                         // plotValues
    );

$plotarea = new PHPExcel_Chart_PlotArea(null, array($series));
$title = new PHPExcel_Chart_Title('Pie chart');
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, null, false);

$chart = new PHPExcel_Chart(
    'chart2',                                       // name
    $title,                                         // title
    $legend,                                        // legend
    $plotarea,                                      // plotArea
    true,                                           // plotVisibleOnly
    0,                                              // displayBlanksAs
    null,                                           // xAxisLabel
    null                                            // yAxisLabel
    );
4

3 に答える 3

5

setShowVal(TRUE) を宣言して、データ ラベルを有効にする必要があります。

適用した次のコードを見つけます

$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_BARCHART,       // plotType
PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED,  // plotGrouping
array(0, 1),                                    // plotOrder
$labels,                                        // plotLabel
$categories,                                    // plotCategory
$values                                         // plotValues
);

$layout1 = new PHPExcel_Chart_Layout();
$layout1->setShowVal(TRUE);      // Initializing the data labels with Values
$layout1->setShowPercent(TRUE);  // Initializing the data labels with Percentages

適用されたプロット領域を宣言する必要があります

$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL);
$plotarea = new PHPExcel_Chart_PlotArea($layout1, array($series));
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, null, false);
$chart = new PHPExcel_Chart(
        'chart1',                                       // name
        null,                                           // title
        $legend,                                        // legend
        $plotarea,                                      // plotArea
        true,                                           // plotVisibleOnly
        0,                                              // displayBlanksAs
        null,                                           // xAxisLabel
        null                                            // yAxisLabel
);
于 2013-06-12T06:27:49.800 に答える