2017-03-08 4 views
0

私は過去1ヶ月のシステムのオン/オフ時間を抽出するPowerShellスクリプトを書いています。私はこのデータをすべてリストに保存しています。私は24時間タイムラインのグラフを作成したい

は、私はこの1つのように、y軸とx軸上のタイムライン、すなわち(23:00 PM 12:00 AM)の日付を持つことになりますグラフの種類を作成したい:picture

私が持っていますGoogle Chartsを使用してこの種のチャートを作成しました。ここにはjsFiddlegoogle.charts.load('current', {'packages':['timeline']}); があります。この問題は、このグラフをユーザーにメールで送信することができないということです。

私はまた、この種のグラフをExcelで作成しようとしましたが、成功しませんでした。

誰かが私に示唆するか、この種類のグラフを作成して電子メールでユーザーと共有するために使用できる何かに私を指揮してください。

答えて

2

MS Chart Controlsを使用すると、チャートをプログラムで作成し、イメージとして保存して電子メールに添付することができます。

This exampleは、以下のコードで、棒グラフの作成方法を示しています。

これは「現状のまま」使用できるコードではありませんです。

これを使用して、必要なチャートタイプを作成するための基礎となる方法の詳細については、こちらをご覧ください。 this link

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization") 
$scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition 

# chart object 
$chart1 = New-object System.Windows.Forms.DataVisualization.Charting.Chart 

$chart1.Width = 600 
$chart1.Height = 600 
$chart1.BackColor = [System.Drawing.Color]::White 

# title 
[void]$chart1.Titles.Add("Top 5 - Memory Usage (as: Column)") 
$chart1.Titles[0].Font = "Arial,13pt" 
$chart1.Titles[0].Alignment = "topLeft" 

# chart area 
$chartarea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea 
$chartarea.Name = "ChartArea1" 
$chartarea.AxisY.Title = "Memory (MB)" 
$chartarea.AxisX.Title = "Process Name" 
$chartarea.AxisY.Interval = 100 
$chartarea.AxisX.Interval = 1 
$chart1.ChartAreas.Add($chartarea) 

C#の例あなたの例に基づいて、私はあなたが欲しいと思うものですガントチャートを作成する方法を示しています。

したがって、PowerShellでGanttを作成するには、C#GanttコードとPowerShellコードを組み合わせる必要があります。

This link、いくつかのより多くのPowerShellのチャートを示しており、また、チャートを保存方法を示しています。

$chart1.SaveImage('C:\temp\chart.jpeg', 'jpeg') 
関連する問題