446ea3c8-e61c-4ede-b4d5-ab57daf45d49
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
3/n/AV2BKBcVmkxtAAAAAElFTkSuQmCC
Param( #$XPoints, $YPoints, $XTitle, $YTitle, $Title, $ChartStyle)
[ValidateNotNull()]
[Parameter(Position=1,Mandatory=$true)]
[System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl
,
[ValidateNotNull()]
[Parameter(Position=2,Mandatory=$true)]
$XPoints
,
[Parameter(Position=3,Mandatory=$true)]
$YPoints
,
[Parameter(Position=4,Mandatory=$false)]
[string]$XTitle
,
[Parameter(Position=5,Mandatory=$false)]
[string]$YTitle
,
[Parameter(Position=6,Mandatory=$false)]
[string]$Title
,
[Parameter(Position=7,Mandatory=$false)]
[System.Windows.Forms.DataVisualization.Charting.SeriesChartType]$ChartType
,
[Parameter(Position=8,Mandatory=$false)]
$SeriesIndex = -1
,
[Parameter(Position=9,Mandatory=$false)]
$TitleIndex = 0,
[Parameter(Mandatory=$false)]
[string]$SeriesName = $null,
[switch]$Enable3D,
[switch]$Disable3D,
[switch]$AppendNew)
$ChartAreaIndex = 0
if($AppendNew)
{
$name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString();
$ChartArea = $ChartControl.ChartAreas.Add($name)
$ChartAreaIndex = $ChartControl.ChartAreas.Count - 1
$name = "Series " + ($ChartControl.Series.Count + 1).ToString();
$Series = $ChartControl.Series.Add($name)
$SeriesIndex = $ChartControl.Series.Count - 1
$Series.ChartArea = $ChartArea.Name
if($Title)
{
$name = "Title " + ($ChartControl.Titles.Count + 1).ToString();
$TitleObj = $ChartControl.Titles.Add($Title)
$TitleIndex = $ChartControl.Titles.Count - 1
$TitleObj.DockedToChartArea = $ChartArea.Name
$TitleObj.IsDockedInsideChartArea = $false
}
}
else
{
if($ChartControl.ChartAreas.Count -eq 0)
{
$name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString();
[void]$ChartControl.ChartAreas.Add($name)
$ChartAreaIndex = $ChartControl.ChartAreas.Count - 1
}
if($ChartControl.Series.Count -eq 0)
{
if(-not $SeriesName)
{
$SeriesName = "Series " + ($ChartControl.Series.Count + 1).ToString();
}
$Series = $ChartControl.Series.Add($SeriesName)
$SeriesIndex = $ChartControl.Series.Count - 1
$Series.ChartArea = $ChartControl.ChartAreas[$ChartAreaIndex].Name
}
elseif($SeriesName)
{
$Series = $ChartControl.Series.FindByName($SeriesName)
if($Series -eq $null)
{
if(($SeriesIndex -gt -1) -and ($SeriesIndex -lt $ChartControl.Series.Count))
{
$Series = $ChartControl.Series[$SeriesIndex]
$Series.Name = $SeriesName
}
else
{
$Series = $ChartControl.Series.Add($SeriesName)
$SeriesIndex = $ChartControl.Series.Count - 1
}
$Series.ChartArea = $ChartControl.ChartAreas[$ChartAreaIndex].Name
}
else
{
$SeriesIndex = $ChartControl.Series.IndexOf($Series)
$ChartAreaIndex = $ChartControl.ChartAreas.IndexOf($Series.ChartArea)
}
}
}
if(($SeriesIndex -lt 0) -or ($SeriesIndex -ge $ChartControl.Series.Count))
{
$SeriesIndex = 0
}
$Series = $ChartControl.Series[$SeriesIndex]
$Series.Points.Clear()
$ChartArea = $ChartControl.ChartAreas[$Series.ChartArea]
if($Enable3D)
{
$ChartArea.Area3DStyle.Enable3D = $true
}
elseif($Disable3D)
{
$ChartArea.Area3DStyle.Enable3D = $false
}
if($Title)
{
if($ChartControl.Titles.Count -eq 0)
{
#$name = "Title " + ($ChartControl.Titles.Count + 1).ToString();
$TitleObj = $ChartControl.Titles.Add($Title)
$TitleIndex = $ChartControl.Titles.Count - 1
$TitleObj.DockedToChartArea = $ChartArea.Name
$TitleObj.IsDockedInsideChartArea = $false
}
$ChartControl.Titles[$TitleIndex].Text = $Title
}
if($ChartType)
{
$Series.ChartType = $ChartType
}
if($XTitle)
{
$ChartArea.AxisX.Title = $XTitle
}
if($YTitle)
{
$ChartArea.AxisY.Title = $YTitle
}
if($XPoints -isnot [Array] -or $XPoints -isnot [System.Collections.IEnumerable])
{
$array = New-Object System.Collections.ArrayList
$array.Add($XPoints)
$XPoints = $array
}
if($YPoints -isnot [Array] -or $YPoints -isnot [System.Collections.IEnumerable])
{
$array = New-Object System.Collections.ArrayList
$array.Add($YPoints)
$YPoints = $array
}
$Series.Points.DataBindXY($XPoints, $YPoints)
}
function Clear-Chart
{
<#
.SYNOPSIS
This function clears the contents of the chart
.DESCRIPTION
Use the function to remove contents from the chart control
.PARAMETER ChartControl
The Chart Control to clear
.PARAMETER LeaveSingleChart
Leaves the first chart and removes all others from the control
.LINK
http://www.sapien.com/blog/2011/05/05/primalforms-2011-designing-charts-for-powershell/
#>
Param (
[ValidateNotNull()]
[Parameter(Position=1,Mandatory=$true)]
[System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl
,
[Parameter(Position=2, Mandatory=$false)]
[Switch]$LeaveSingleChart
)
$count = 0
if($LeaveSingleChart)
{
$count = 1
}
while($ChartControl.Series.Count -gt $count)
{
$ChartControl.Series.RemoveAt($ChartControl.Series.Count - 1)
}
while($ChartControl.ChartAreas.Count -gt $count)
{
$ChartControl.ChartAreas.RemoveAt($ChartControl.ChartAreas.Count - 1)
}
while($ChartControl.Titles.Count -gt $count)
{
$ChartControl.Titles.RemoveAt($ChartControl.Titles.Count - 1)
}
if($ChartControl.Series.Count -gt 0)
{
$ChartControl.Series[0].Points.Clear()
}
}
#endregion
]]>
1
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a