2016-11-12 54 views
0

的圖像文件你能告訴我我的代碼有什麼問題嗎?我想通過System.Windows.Forms.DataVisualization.Charting庫在控制檯應用程序中生成圖表圖像...以下代碼僅爲列生成圖表,但我需要使用帶有座標軸的圖表。有任何想法嗎?將圖表保存爲軸

Chart chart = new Chart();  

chart.Size = new System.Drawing.Size(2000, 500); 
ChartArea area = new ChartArea(); 
chart.ChartAreas.Add(area); 

chart.BackColor = System.Drawing.Color.Transparent; 
chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 
chart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; 

chart.ChartAreas[0].AxisX.Title = "sasdasdasd"; 

Series series = new Series() 
{ 
    Name = "series2", 
    IsVisibleInLegend = false, 
    ChartType = SeriesChartType.Column 
}; 

chart.Series.Add(series); 

foreach (CnbItem item in items) 
{ 
    DataPoint p1 = new DataPoint(0, Double.Parse(item.Kurz)); 
    p1.Color = System.Drawing.Color.LightBlue; 
    p1.AxisLabel = item.Kod; 
    p1.LegendText = item.Kod; 
    p1.Label = item.Kurz; 

    series.Points.Add(p1); 

} 

string filename = "D:\\Chart.png"; 
chart.SaveImage(filename, ChartImageFormat.Png); 

回答

0

更新:設置在ChartBackcolorTransparent實際工作就好了。但是有些圖片瀏覽器不顯示透明度;我使用Irfanview作爲我的默認查看器,它是那些不能。我懷疑你還惦記透明度..

相反所有的透明度呈現爲黑色,所以除非你有一個非黑線的顏色..您的軸線和標籤等。似乎想要離去。 油漆(在W10上)是另一個,但呈現白色的透明度,所以黑色像素至少可見。

下面的圖片是從Photoshop中,其中,當然,不存在這樣的問題..

enter image description here

+0

感謝,這種顏色的作品,但是現在這個axisX標籤是不是每一個欄下,axisY上的值不是正確的:/你能告訴我爲什麼不創建新的post-pls? – Aligator

+1

對此適用所有常規規則。軸標籤通常會根據可用空間自動放置。你可以設置一個Interval,只要你喜歡,'1'意思是每一個單位..不確定你的意思是'axisY'的值是不正確的(?)'。你可以用圖像更新你的問題。 – TaW

+0

是的,interval = 1,是我需要:)謝謝 – Aligator