実現したいこと
以下環境にてPhpSpreadsheetを使用してグラフをファイル上に作成しております。
棒グラフで棒の先端に値を表示させることをは可能でしょうか?
また、Y軸の値を消すことはできますでしょうか?
追記:参考にさせていただいたサイトではグラフに目盛線が表示されていますが、
同じように作成しても目盛線が表示されませんでした。
以下のバージョンの場合は表示されないのでしょうか?
"php": "7.4.3"
”phpspreadsheet": "^1.29"
参考サイト:https://qiita.com/locomotive/items/beeec9509ef8adb79b96#%E6%A3%92%E3%82%B0%E3%83%A9%E3%83%95
発生している問題・分からないこと
PhpSpreadsheetのChart機能の使用方法
該当のソースコード
private function drawingsChart($type,$title,$labelArealist,$dataArealist,$tableArealist) { $xAxisTickValues = [ $this->drawingsChartArea($labelArealist[0],$labelArealist[1],$labelArealist[2],$labelArealist[3]), ]; $dataSeriesValues = [ $this->drawingsChartData($dataArealist[0],$dataArealist[1],$dataArealist[2],$dataArealist[3]), ]; $series = $this->drawingsChartSeries($type,$xAxisTickValues, $dataSeriesValues); $series->setPlotDirection(DataSeries::DIRECTION_COL); $objLayout = NULL; if ($type === DataSeries::TYPE_DOUGHNUTCHART) { $objLayout = new Layout(); //$objLayout->setShowLabel(TRUE); $objLayout->setShowPercent(TRUE); } $plotArea = new PlotArea($objLayout, [$series]); $title = new Title($title); $chart = new Chart( $title, // name $title, // title null, // legend $plotArea, // plotArea true, // plotVisibleOnly 0, // displayBlanksAs null, // xAxisLabel null // yAxisLabel ); $chart->setTopLeftPosition($tableArealist[0].$tableArealist[1]); $chart->setBottomRightPosition($tableArealist[2].$tableArealist[3]); return $chart; }
private function drawingsChartArea($fromColumn,$fromRow,$toColumn,$toRow) { $str = 'worksheet'; $str .= '!$'; $str .= $fromColumn; $str .= '$'; $str .= $fromRow; $str .= ':$'; $str .= $toColumn; $str .= '$'; $str .= $toRow; return new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, $str, null, 6); }
private function drawingsChartData($fromColumn,$fromRow,$toColumn,$toRow) { $str = 'worksheet'; $str .= '!$'; $str .= $fromColumn; $str .= '$'; $str .= $fromRow; $str .= ':$'; $str .= $toColumn; $str .= '$'; $str .= $toRow; return new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, $str, null, 6); }
private function drawingsChartSeries($type,$xAxisTickValues,$dataSeriesValues ) { $plotGrouping = NULL; if ($type === DataSeries::TYPE_BARCHART) { $plotGrouping = DataSeries::GROUPING_STANDARD; } return new DataSeries( $type, // plotType $plotGrouping, // plotGrouping range(0, count($dataSeriesValues) - 1), // plotOrder [], // plotLabel $xAxisTickValues, // plotCategory $dataSeriesValues // plotValues ); }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
棒グラフの先端にvalue値を表示させる方法について記載されたサイトが特にありませんでした。
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。