永发信息网

求C#程序,画曲线图,调用数据库,要直接能运行

答案:2  悬赏:10  手机版
解决时间 2021-04-05 23:31
  • 提问者网友:凉末
  • 2021-04-04 23:21
求C#程序,画曲线图,调用数据库,要直接能运行
最佳答案
  • 五星知识达人网友:动情书生
  • 2021-04-05 00:22
画温度变化折线图的一个程序,数据是从数据库中提取的。
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 = 0; i < Dt.Rows.Count; i++)
{
string Str = Dt.Rows[i]["时间"].ToString().Replace(".", "/");
Str = Str.Replace("-", "/");
Str = Str.Replace(" ", "/");
string[] array = Str.Split('/');
string str = "";
for (Int32 h = 0; h <= array.Length - 2; h++)
{
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 = 0; i < Dt.Rows.Count; i++)
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();
}
}
全部回答
  • 1楼网友:雾月
  • 2021-04-05 00:47
使用graphics类,具体的方法就是看自己的美术功底了 查询出来的结果,分析出来,然后就在一个image对象上绘制, 要代码的话,加我就行
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯