想在VB中根据数据库的数据画曲线变化图,如何画?用什么方法

想在VB中根据数据库的数据画曲线变化图,如何画?用什么方法,第1张

VB提供的绘制图形的方法:(可以在窗体上或PicTureBox控件上使用)

与你主题相关的有:

1,绘制直线

object.Line (x1,y1) - (x2,y2), [color]

其中:(x1,y1) 和 (x2,y2)分别是平面上的两个点坐标。

2,绘制一点:

object.PSet (x,y), [color]

其中:(x1,y1) 是平面上的一个点坐标。

3,绘制图形的笔尖的粗细:

object.DrawWidth = size

默认粗细为1。

4,绘制图形的线条的颜色设置:

1)Object.ForeColor = QbColor(n) :n = 0 -- 15

2) 或者在使用上述方法时,在后边跟的参数[color]

思路:

绘制曲线,就是根据函数关系:y = f(x),采用描点法,在某一区域范围内,根据x计算y,然后用

PSet (x,y)实现曲线的绘制。

A9' 2517754.449 550078.031

A9 2517753.415 550077.422

关圆曲线什么事?你提供的已知数据不就是一条直线吗?

最简单的方法是,你在CAD上把这条直线展出来,A9'和A9在这条直线里的关系你已经知道了,直接在CAD上点他们的坐标就OK了。

温度变化折线图的一个程序,数据是从数据库中提取的。

public void CreateLine(ZedGraphControl zgc, string epc, PointPairList list3, PointPairList list1, PointPairList list2, PointPairList list4, PointPairList list5, double up, double uptemp, double down, double downtemp)

{

GraphPane myPane = zgc.GraphPane

list3.Clear()

myPane.CurveList.Clear()

myPane.Title.Text = dataGridView1.Rows[0].Cells[1].Value.ToString().Trim() + "的温度变化曲线图"

string sqlstr = "select [温度值],[时间] from [温度表] where EPC码='" + epc + "'order by [时间] asc"

DataTable Dt = com.dt(sqlstr)

if (Dt.Rows.Count <= 0)

MessageBox.Show("无温度记录!", "提示")

else

{

for (int i = 0i <Dt.Rows.Counti++)

{

string Str = Dt.Rows[i]["时间"].ToString().Replace(".", "/")

Str = Str.Replace("-", "/")

Str = Str.Replace(" ", "/")

string[] array = Str.Split('/')

string str = ""

for (Int32 h = 0h <= array.Length - 2h++)

{

str = str + array[h]

}

double x3 = Convert.ToDouble(str)

double y1, y2, y4, y5

y1 = up

y2 = uptemp

double y3 = Convert.ToDouble(Dt.Rows[i]["温度值"].ToString())

y4 = down

y5 = downtemp

list1.Add(x3, y1)

list2.Add(x3, y2)

list3.Add(x3, y3)

list4.Add(x3, y4)

list5.Add(x3, y5)

}

//将时间作为X轴的标尺

string[] xLabels = new string[Dt.Rows.Count]

for (int i = 0i <Dt.Rows.Counti++)

xLabels[i] = Dt.Rows[i]["时间"].ToString().Trim()

myPane.XAxis.Type = AxisType.Text

myPane.XAxis.Scale.TextLabels = xLabels

// 创建每个折线

LineItem myCurve1 = myPane.AddCurve("上限", list1, Color.Red)

LineItem myCurve2 = myPane.AddCurve("上预警值", list2, Color.Purple)

LineItem myCurve3 = myPane.AddCurve("温度值", list3, Color.Blue)

LineItem myCurve4 = myPane.AddCurve("下预警值", list4, Color.GreenYellow)

LineItem myCurve5 = myPane.AddCurve("下限", list5, Color.Green)

zedGraphControl1.AxisChange()

// 设置图标的颜色和渐变色

myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 45.0F)

zgc.AxisChange()

zgc.Refresh()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6775343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存