C#。 WPF。图表构建的问题
C#. WPF. Problems with Chart Building
在我的图表构建 WPF 应用程序中,我尝试使用 WinForms System.Windows.Forms.DataVisualization.Charting;
我有以下代码:
private void build()
{
for(int i = 0; i< boundData.Count; i++)
{
var chart = new Chart();
var ser = new Series();
ser.Name = "Series1";
ser.ChartType = SeriesChartType.Bar;
ser.Color = System.Drawing.Color.Blue;
chart.Series.Add(ser);
charts.Add(chart);
for (int j = 0; j < boundData[i].Count; j++)
{
charts[i].Series["Series1"].Points.AddXY(j, boundData[i][j]);
}
}
//Just for tesing Purposes
charts[1].Invalidate();
charts[1].SaveImage("met.png", ChartImageFormat.Png);
}
'boundData' 具有以下结构
List<List<int>>:
List<int> : [ 1,2,3,4,5,6,... ];
List<int> : [ 1,2,3,4,5,6, ... ];
...
根据 debagger 的说法,'Series' 属性 有积分。
我想做的是建立一个图表并将其保存为图像。保存的图像什么都没有(空)
任何人都可以指出我做错了什么或建议另一种构建图表的方法吗?
在使用 wpf 时使用 oxyplot instead of windows forms. Its an open source project. you can find its demo here。它还支持将图表保存为图像。
样本:https://github.com/oxyplot/oxyplot/tree/master/Source/Examples
您需要添加一个 ChartArea 才能绘图
private void build()
{
for (int i = 0; i < boundData.Count; i++)
{
var chart = new Chart();
var ser = new Series();
chart.ChartAreas.Add(new ChartArea("Area1"));
ser.ChartArea = "Area1";
ser.Name = "Series1";
ser.ChartType = SeriesChartType.Bar;
ser.Color = System.Drawing.Color.Blue; ;
chart.Series.Add(ser);
charts.Add(chart);
for (int j = 0; j < boundData[i].Count; j++)
{
charts[i].Series["Series1"].Points.AddXY(j, boundData[i][j]);
}
}
//Just for tesing Purposes
charts[1].Invalidate();
charts[1].SaveImage("met.png", ChartImageFormat.Png);
}
在我的图表构建 WPF 应用程序中,我尝试使用 WinForms System.Windows.Forms.DataVisualization.Charting;
我有以下代码:
private void build()
{
for(int i = 0; i< boundData.Count; i++)
{
var chart = new Chart();
var ser = new Series();
ser.Name = "Series1";
ser.ChartType = SeriesChartType.Bar;
ser.Color = System.Drawing.Color.Blue;
chart.Series.Add(ser);
charts.Add(chart);
for (int j = 0; j < boundData[i].Count; j++)
{
charts[i].Series["Series1"].Points.AddXY(j, boundData[i][j]);
}
}
//Just for tesing Purposes
charts[1].Invalidate();
charts[1].SaveImage("met.png", ChartImageFormat.Png);
}
'boundData' 具有以下结构
List<List<int>>:
List<int> : [ 1,2,3,4,5,6,... ];
List<int> : [ 1,2,3,4,5,6, ... ];
...
根据 debagger 的说法,'Series' 属性 有积分。
我想做的是建立一个图表并将其保存为图像。保存的图像什么都没有(空) 任何人都可以指出我做错了什么或建议另一种构建图表的方法吗?
在使用 wpf 时使用 oxyplot instead of windows forms. Its an open source project. you can find its demo here。它还支持将图表保存为图像。
样本:https://github.com/oxyplot/oxyplot/tree/master/Source/Examples
您需要添加一个 ChartArea 才能绘图
private void build()
{
for (int i = 0; i < boundData.Count; i++)
{
var chart = new Chart();
var ser = new Series();
chart.ChartAreas.Add(new ChartArea("Area1"));
ser.ChartArea = "Area1";
ser.Name = "Series1";
ser.ChartType = SeriesChartType.Bar;
ser.Color = System.Drawing.Color.Blue; ;
chart.Series.Add(ser);
charts.Add(chart);
for (int j = 0; j < boundData[i].Count; j++)
{
charts[i].Series["Series1"].Points.AddXY(j, boundData[i][j]);
}
}
//Just for tesing Purposes
charts[1].Invalidate();
charts[1].SaveImage("met.png", ChartImageFormat.Png);
}