将图表保存到带轴的图像文件中

时间:2016-11-12 15:21:52

标签: c# .net image charts axis

你能告诉我我的代码有什么问题吗?我想通过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);

1 个答案:

答案 0 :(得分:0)

更新:将Chart的{​​{1}}设置为Backcolor实际上可以正常运行。但是,某些图像查看器不显示透明度;我使用 Irfanview 作为我的默认查看器,它是其中之一。我怀疑你的也错过了透明度。

相反所有透明度都呈现为黑色,所以除非你有非黑色线条颜色..你的轴和标签等...... 似乎要消失。 绘制(在W10上)是另一个,但将透明度渲染为白色,因此黑色像素至少可见。

以下图片来自 Photoshop ,当然,这没有那个问题..

enter image description here