Я пытаюсь использовать pChart для создания комбинированной диаграммы, используя 3 серии. Две серии будут для гистограммы с накоплением, а оставшаяся серия будет для гистограммы. Чего я пытаюсь добиться, так это поместить столбец с накоплением столбца с обычной полосой сбоку (например, общая полоса). Есть ли способ добиться этого? Я знаю, что в pChart есть возможность комбинирования диаграмм, но кажется, что это действительно хорошо работает только тогда, когда вы комбинируете различные типы диаграмм, например, гистограммы и линии. Но когда я пытаюсь объединить похожие графики, такие как гистограммы и гистограммы с накоплением, кажется, что они перезаписывают друг друга. Документация pChart не очень ясна по этому вопросу (или я действительно что-то упускаю). Мой код:
$MyData = new pData();
$Mydata->addPoints(array(0,97,149,167),"Previous");
$Mydata->addPoints(array(97,52,18,10),"Current");
$Mydata->addPoints(array(97,149,167,177),"Total");
$Mydata->setAxisName(0,"Quantity");
$Mydata->addPoints(array('1','2','3','4'),"Period");
$Mydata->setSerieDescription("Period","Period");
$Mydata->setAbscissa("Period");
$Mydata->setAbscissaName("Period");
$MyChart = new pImage(975,520,$MyData);
$MyChart->setFontProperties(array("FontName"=>"pChart/fonts/verdana.ttf","FontSize"=>11));
$MyChart->setGraphArea(270,100,940,390);
$MyChart->drawFilledRectangle(270,100,940,390,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
$MyChart->drawScale(array('CycleBackground'=>TRUE,'Mode'=>SCALE_MODE_START0,'Factors'=>array(20),"Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>FALSE,"GridR"=>128,"GridG"=>128,"GridB"=>128,"GridAlpha"=>20));
$MyChart->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
$MyChart->setFontProperties(array("FontName"=>"pChart/fonts/verdana.ttf","FontSize"=>11));
$MyData->setSerieDrawable("Total",FALSE);
$MyChart->drawStackedBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Rounded"=>TRUE,"Surrounding"=>60));
$MyData->setSerieDrawable("Previous",FALSE);
$MyData->setSerieDrawable("Current",FALSE);
$MyData->setSerieDrawable("Total",TRUE);
$MyChart->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Rounded"=>TRUE,"Surrounding"=>60));
$MyChart->setShadow(FALSE);
$MyData->setSerieDrawable("Previous",TRUE);
$MyData->setSerieDrawable("Current",TRUE);
$MyChart->drawLegend(30,20,array("Alpha"=>20,"Mode"=>LEGEND_VERTICAL));
$MyChart->Render("Graph.png");
Спасибо за любую помощь.