Powershellを使って円グラフを作成する方法


今回は、Windows標準で用意されているPowershellを使って円グラフの作成方法を紹介します。

結構簡単に作れてしまいますので、是非お試しください

グラフ作成用のアセンブリを参照

円グラフを作成するためにあらかじめ用意されているアセンブリ情報を参照します。

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms.DataVisualization

System.Windows.Formsは、フォームアプリケーションを作成するためのアセンブリであり、様々なフォームアプリケーションを作成するためのツールが備わっています。

Chartオブジェクトを生成

Formアセンブリを参照できるようになったところで、実際にChartのオブジェクトを作成します

$chart = New-Object System.Windows.Forms.DataVisualization.Charting.Chart
$chart_area = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$series = New-Object  System.Windows.Forms.DataVisualization.Charting.Series
$legend = New-Object System.Windows.Forms.DataVisualization.Charting.Legend

次にChartのオブジェクトを各コレクションに追加していきます。

$chart.Series.Add($series)
$chart.ChartAreas.Add($chart_area)
$chart.Legends.Add($legend)
$chart.Dock = [System.Windows.Forms.DockStyle]::Fill

次にチャートタイプを設定し、DataBindXY値を設定します。このDataBindXYに設定した値が実際のグラフに表示されるラベルと値になります。

$series.ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie
$series.Points.DataBindXY(@('sample1', 'sample2', 'sample3'), @(3, 1, 6))

フォームとして表示する

今まで作成してきたチャート設定をフォームに反映し、実際に表示してみます。

$window = New-Object System.Windows.Forms.Form 
$window.Text = "Pie Charts"
$window.Controls.Add($chart);
$window.ShowDialog();

フォームの表示は「System.Windows.Forms.Form」アセンブリからロードして利用します。
タイトルを設定し、ShowDialog()にてグラフを表示します。

上記のように円グラフが表示されればOKです。

最後に

Powershellは運用保守で利用する言語としてはよく利用しますが、今回はフォーム制御をPowershellで行う方法を紹介しました。

運用保守ツールとして利用する機会があるかもしれませんので、是非参考にしてみてください