private void createMappingScatterplot(ZedGraphControl zgc, double[,] graph)
{
GraphPane myPane = zgc.GraphPane;
myPane.CurveList.Clear();
// Set the titles
myPane.Title.Text = "Scatter Plot";
myPane.XAxis.Title.Text = "X";
myPane.YAxis.Title.Text = "Y";
myPane.XAxis.IsAxisSegmentVisible = false;
myPane.YAxis.IsAxisSegmentVisible = false;
PointPairList list1 = new PointPairList();
PointPairList list2 = new PointPairList();
PointPairList list3 = new PointPairList();
for (int i = 0; i < graph.GetLength(0); i++)
{
if (graph[i, 2] == 1.0)
list1.Add(graph[i, 0], graph[i, 1]);
if (graph[i, 2] == 2.0)
list2.Add(graph[i, 0], graph[i, 1]);
if (graph[i, 2] == 3.0)
list3.Add(graph[i, 0], graph[i, 1]);
}
// Add the curve
LineItem myCurve = myPane.AddCurve("G1", list1, Color.Blue, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Blue);
myCurve = myPane.AddCurve("G2", list2, Color.Green, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Green);
myCurve = myPane.AddCurve("G3", list3, Color.Orange, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Orange);
myCurve = myPane.AddCurve("M1", new PointPairList(), Color.Blue, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Blue);
myCurve = myPane.AddCurve("M2", new PointPairList(), Color.Green, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Green);
myCurve = myPane.AddCurve("M3", new PointPairList(), Color.Orange, SymbolType.Diamond);
myCurve.Line.IsVisible = false;
myCurve.Symbol.Border.IsVisible = false;
myCurve.Symbol.Fill = new Fill(Color.Orange);
// Fill the background of the chart rect and pane
myPane.Fill = new Fill(Color.WhiteSmoke);
zgc.AxisChange();
zgc.Invalidate();
}