2014-03-31 3 views
0

차트를 생성하여 .docx 문서에 동적으로 삽입합니다. 문제는 그래프의 너비가 축 레이블의 길이 인 의 크기에 따라 달라 지므로 레이블이 긴 그래프가 출력 문서에서 더 작게 나타납니다.코드에 의해 생성 된 차트의 축 및 레이블 크기가 일치하지 않습니다.

레이블을 여러 줄로 연결하는 방법을 사용하지만 그래프의 크기에는 영향을 미치지 않습니다. 여기

내 차트 생성하는 방법 중 하나입니다

private static MemoryStream CreateRadarChartImage(IEnumerable<SectionDs> sections) 
    { 
     var chart = new Chart { BackColor = Color.Transparent, Width = 550, Height = 350 }; 

     var series = new Series("Series") 
         { 
          ChartArea = "chartArea", 
          ChartType = SeriesChartType.Radar, 
          BorderWidth = 1, 
          BorderColor = Color.Black, 
          BorderDashStyle = ChartDashStyle.Solid, 
          Color = Color.Transparent 
         }; 
     foreach (SectionDs section in sections) 
     { 
      var labelText = SpliceText(section.Name, 14); 

      series.Points.Add(
       new DataPoint { AxisLabel = labelText, LabelAngle = 40, YValues = new[] { section.OverallScore * 100 } }); 
     } 

     chart.Series.Add(series); 

     var chartArea = new ChartArea("chartArea") { BackColor = Color.Transparent, AxisY = { Maximum = 100 }, AxisX = { LabelStyle = { Font = new Font("Calibri", 15f) } } }; 
     chart.ChartAreas.Add(chartArea); 

     var chartImage = new MemoryStream(); 
     chart.SaveImage(chartImage, ChartImageFormat.Png); 
     return chartImage; 
    } 

답변

0
var chartArea = new ChartArea("chartArea") { BackColor = Color.Transparent, AxisY = { Maximum = 100 }, AxisX = { LabelStyle = { Font = new Font("Calibri", 15f) } } }; 
chartArea.AxisX.IsLabelAutoFit = false; 
chart.ChartAreas.Add(chartArea); 

이 각각의 차트는 동일한 크기의 라벨을해야합니다 레이블 자동 맞춤을 중지합니다. 이제는 라벨을 수동으로 포맷해야 할 수도 있습니다.

+0

내 차트의 라벨 크기는 이미 동일합니다. 길이는 다양합니다. 답변을 주셔서 감사합니다. – Reece