.NET 4の内蔵チャートコントロールで折れ線グラフを生成しようとしています。 角度にX軸のラベルを付けたいと私は自分のチャートを特定のサイズにしたいと思っています。.NETチャートコントロールは、グラフサイズが指定されたときにLabelAutoFitStyleを無視します。
グラフの幅/高さを指定すると、LabelAutoFitStyleは無視されます。私はまた、ラベルの.Angleプロパティなどを使ってみました、そして、もし私が幅の&の高さを指定しなかった場合にのみ動作します。
しかし、グラフの高さの幅を&と指定しなかった場合、データはすべて非常に小さなチャートに詰まってしまいます。
LabelAutoFitStyleを使用する方法はありますかとは、チャートがより大きなサイズ、好ましくは特定のサイズであることを確認してください。
私は$ chart.MinimumSizeと$ chart.Sizeも使ってみましたが、チャートの出力には影響していないようです。
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
ForEach ($url in $urlList)
{
$chart = New-Object System.Windows.Forms.DataVisualization.Charting.Chart
#$chart.Width = 1024
#$chart.Height = 690
$chart.BackColor = [System.Drawing.Color]::White
$chart.Titles.Add("$url load time (ms)")
$chart.Titles[0].Alignment ="topLeft"
$chart.AutoSize = $true
$chartArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$chartArea.name = "ChartArea1"
$chartArea.AxisY.Title = "Load Time (ms)"
$chartArea.AxisX.Title = "Time"
$chartArea.AxisX.IsLabelAutoFit = $true
$chartArea.AxisX.LabelAutoFitStyle = [System.Windows.Forms.DataVisualization.Charting.LabelAutoFitStyles]::LabelsAngleStep90
$chartArea.Axisx.LabelStyle.Enabled = $true
$chart.ChartAreas.Add($chartArea)
$colorIndex = 0
ForEach ($pac in $pacList)
{
$chart.Series.Add($pac)
$chart.Series[$pac].ChartType = "Line"
$chart.Series[$pac].BorderWidth = $borderWidth
$chart.Series[$pac].IsVisibleInLegend = $true
$chart.Series[$pac].ChartArea = "ChartArea1"
$chart.Series[$pac].Color = $colorList[$colorindex]
$colorindex++
}
$urlData = $data | Where-Object { $_.URL -eq $url }
ForEach ($row in $urlData)
{
$chart.Series[$row.'PAC FILE'].Points.AddXY($row.TIME, $row.'Page Load Time 2 (ms)')
}
$chartFilename = (Join-Path -Path $PSScriptRoot -ChildPath (Fix-Filename $url)) + ".png"
$chart.SaveImage($chartFilename,"png")
}