Я хочу получить горизонтальный диапазон данных ячейки в DataSeriesValues в PHPexcel / PhpSpreadsheet Chart с использованием Laravel Excel.
Мой рабочий код для вертикального диапазона ячеек:
public function charts()
{
$label = [new DataSeriesValues('String', 'Worksheet!$B$1', null, 1)];
$categories = [new DataSeriesValues('String', 'Worksheet!$B$4:$B$12', null, 4)];
$values = [new DataSeriesValues('Number', 'Worksheet!$C$4:$C$12', null, 4)];
$series = new DataSeries(DataSeries::TYPE_BARCHART, DataSeries::GROUPING_STANDARD,
range(0, count($values) - 1), $label, $categories, $values);
$plot = new PlotArea(null, [$series]);
$legend = new Legend();
$chart = new Chart('chart 1 zz', new Title('chart 1'), $legend, $plot);
$chart->setTopLeftPosition('G1');
$chart->setBottomRightPosition('K5');
}
Я пробовал это код для горизонтального диапазона, но он говорит No Data
на графике
$label = [new DataSeriesValues('String', 'Worksheet!$B$1', null, 1)];
$categories = [new DataSeriesValues('String', 'Worksheet!$B$4:$AG$4', null, 4)];
$values = [new DataSeriesValues('Number', 'Worksheet!$B$5:$AG$5', null, 4)];
, и я попробовал ниже код, тогда значения верны, но возвращают только первые категории
$i = "A";
$label = [];
$values = [];
$categories = [];
foreach ($this->questions as $question) {
$i++;
$label[] = new DataSeriesValues('String', 'Worksheet!$B$1', null, 1);
$categories[] = new DataSeriesValues('String', 'Worksheet!$'.$i.'$4', null, 4);
$values[] = new DataSeriesValues('Number', 'Worksheet!$'.$i.'$5', null, 4);
}
ниже изображение является последний результат диаграммы
И у меня также есть другие вопросы:
- Что такое 4 / pointCount в последние аргументы DataSeriesValues Я пытался изменить на другое значение, но без разницы
- Что такое метка? потому что он не отображается на графике.
Заранее спасибо