我想创build一个24小时的时间表

我写了一个PowerShell脚本,提取前一个月的系统开/关时间。 我将所有这些数据存储在一个列表中。

我想创build一种图表,它将在x轴上具有y轴和时间轴上的date(即,从上午12:00至下午23:00),如下所示: 图片

我用Google Charts创build了这种图表,下面是jsFiddle google.charts.load('current', {'packages':['timeline']}); 为了那个原因。 这个问题是我不能分享这个图表上的邮件给用户。

我也试图在Excel中创build这种图表,但没有成功。

所以请任何人build议我或指向我可以用来创build这种图表和分享与用户在电子邮件中的东西。

使用MS图表控件 ,这将允许您以编程方式创build图表,然后另存为图像,然后将其附加到电子邮件。

下面的代码示例演示了如何制作条形图。

这不是您可以使用“原样”的代码

请继续阅读以获取更多关于如何使用此信息作为创build所需图表types的基础。

 [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#示例显示了如何根据您的示例构build一个甘特图,这正是我想要的。

因此,您现在需要将C#甘特图代码与PowerShell代码结合起来,在PowerShell中创build甘特图。

此链接显示了更多的PowerShell图表,还显示了如何保存图表

 $chart1.SaveImage('C:\temp\chart.jpeg', 'jpeg')