c#用ZedGraph控件画折线图
我想用ZedGraph控件画折线图,但是我的数值点的连接线不是连续的,我希望做的图形参考http://blog.csdn.net/happyxyzw/article/details/6853471 ,这个图上面的折线是选择固定的一些点连接成线,怎么实现呢? --------------------编程问答--------------------这个没画过,连续的画过。我个人觉得判断是不是有数值,然后再进行要不要在这两点之间画线就好 --------------------编程问答-------------------- 可以考虑不连续部分的的颜色和底色一样或者透明 --------------------编程问答-------------------- 不连续的话,就可以看成多个连续的嘛
private void picBox_Paint(object sender, PaintEventArgs e)
{
float[] month = new float[12];
for (int i = 0; i < 12; i++)
{
month[i] = i + 1;
}
float[] d = new float[12] { 20.5f, 60, 10.8f, 15.6f, 30, 70.9f, 50.3f, 30.7f, 70, 50.4f, 30.8f, 20};
picBox.SizeMode = PictureBoxSizeMode.Zoom;
CurvePaint cp = new CurvePaint();
cp.XkeduCount = 10;
cp.YkeduCount = 10;
cp.XvalueStrMoveleft = 15;
picBox.Image = cp.drawCurve(month, d, "某工厂某产品月生产量图表", "月份", "产量(万)");
}
画不连续的就当成多个连续的
比如把上面的month分成month1(x轴坐标,1-6月)、d1(y坐标前六个数)和month2、d2
还有不连续的就多分啊,有几个就用几次drawCurve把他们通通话出来就是了。 --------------------编程问答-------------------- ls正解。 当成多条曲线处理。 --------------------编程问答--------------------
private void DrawLine(ZedGraphControl zgc)
{
GraphPane myPane = zgc.GraphPane;
List<PointPairList> DataSource = new List<PointPairList>();
myPane.Title.Text = "用户访问曲线图";
myPane.XAxis.Title.Text= "月份";
myPane.YAxis.Title.Text = "用户访问数量";
Random rand = new Random();
//for (int i = 0; i < 3; i++)
//{
ZedGraph.PointPairList ppl = new ZedGraph.PointPairList();
for (double x = 0; x < 5; x += 1.0)
{
double y = rand.NextDouble() * 1000;
ppl.Add(x, y);
}
myPane.AddCurve("as" + 1.ToString(), ppl, Color.Red, SymbolType.None);
//}
ZedGraph.PointPairList pp2 = new ZedGraph.PointPairList();
for (double x = 6; x < 10; x += 1.0)
{
double y = rand.NextDouble() * 1000;
pp2.Add(x, y);
}
myPane.AddCurve("as" + 3.ToString(), pp2, Color.Red, SymbolType.None);
zgc.AxisChange();
//重绘控件
Refresh();
}
补充:.NET技术 , C#