C#中CHART画图.doc_第1页
C#中CHART画图.doc_第2页
C#中CHART画图.doc_第3页
C#中CHART画图.doc_第4页
C#中CHART画图.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C# chart控件绘制多图表区图像想要根据数据库中记录个数动态决定chart控件的绘图区域,保证它们大小均匀,在网上找了N久么有发现满意答案,纠结了快一天的时间,终于把问题解决了,贴出来供大家分享O(_)O前面的代码中定义一个series对象数组: List listSer = new List();引发动态生成图表的按钮事件完整如下:private void button1_Click(object sender, EventArgs e) OCon Mycon = new OCon(); OracleConnection conn = Mycon.getCon(); conn.Open(); string sqlString = select count(*) from dotrelation where dotdesc like 2%路基%温度%; num = Mycon.countORL(conn, sqlString);/获得数据库中满足条件的记录数 /MessageBox.Show(满足条件的数据记录为 + num); int heightPer = 100 / num;/计算每个绘图区高度 for (int i = 0; i num; i+) string serName = test + i.ToString(); listSer.Add(new Series(serName);/对象数组 fillData(date);/初始化数组此方法自己定义的 initialSeries(Series)listSeri, Color.Red, date); chart1.ChartAreas.Add(ANOTHER + i);/这里是关键! chart1.ChartAreasi.Position.Width = 100;/绘图区域在控件中的宽度 100是百分比 chart1.ChartAreasi.Position.Height = heightPer; chart1.ChartAreasi.Position.X = 5;/绘图区域在控件中的绝对位置 横坐标 chart1.ChartAreasi.Position.Y = 3 + heightPer * i;/绘图区域在控件中的绝对位置纵坐标 chart1.ChartAreasi.AxisX.LineColor = Color.Blue; chart1.ChartAreasi.AxisY.LineColor = Color.Blue; chart1.ChartAreasi.AxisX.LineWidth = 2; chart1.ChartAreasi.AxisY.LineWidth = 2; chart1.ChartAreasi.AxisY.Title = 监测值; /设置网格线 chart1.ChartAreasi.AxisX.MajorGrid.LineColor = Color.Blue; chart1.ChartAreasi.AxisX.MajorGrid.Interval = 2;/网格间隔 chart1.ChartAreasi.AxisX.MinorGrid.Interval = 2; chart1.ChartAreasi.AxisY.MajorGrid.LineColor = Color.Blue; chart1.ChartAreasi.AxisY.MajorGrid.Interval = 2; chart1.ChartAreasi.AxisY.MinorGrid.Interval = 2; chart1.Seriesi.IsValueShownAsLabel = false; /是否显示数据 chart1.Seriesi.IsVisibleInLegend = false; /是否显示数据说明 chart1.Seriesi.MarkerStyle = MarkerStyle.Circle; /线条上的数据点标志类型 chart1.Seriesi.MarkerSize = 3; /标志大小 chart1.Seriesi.ChartType = SeriesChartType.Line; /图表类型为曲线 string name = ANOTHER + i.ToString(); chart1.Seriesi.ChartArea = name;/指定绘图区域 chart1.ChartAreasi.AxisX.LineColor = Color.Blue; /X轴颜色 chart1.ChartAreasi.AxisY.LineColor = Color.Blue; /Y轴颜色 chart1.ChartAreasi.AxisX.LineWidth = 2; /X轴宽度 chart1.ChartAreasi.AxisY.LineWidth = 2; /Y轴宽度 chart1.ChartAreasi.AxisY.Title = 人数; /Y轴标题 /fillData(date);/初始化数组 /initialSeries(series1, Color.Red, date); initalChart();/图表初始化 C#中CHART控件 简单示例: 后台代码: protected void Page_Load(object sender, EventArgs e) DataTable dt = default(DataTable); dt = CreateDataTable(); /设置图表的数据源 Chart1.DataSource = dt; /设置图表Y轴对应项 Chart1.Series0.YValueMembers = Volume1; Chart1.Series1.YValueMembers = Volume2; /设置图表X轴对应项 Chart1.Series0.XValueMember = Date; /绑定数据 Chart1.DataBind(); private DataTable CreateDataTable() /Create a DataTable as the data source of the Chart control DataTable dt = new DataTable(); /Add three columns to the DataTable dt.Columns.Add(Date); dt.Columns.Add(Volume1); dt.Columns.Add(Volume2); DataRow dr; /Add rows to the table which contains some random data for demonstration dr = dt.NewRow(); drDate = Jan; drVolume1 = 3731; drVolume2 = 4101; dt.Rows.Add(dr); dr = dt.NewRow(); drDate = Feb; drVolume1 = 6024; drVolume2 = 4324; dt.Rows.Add(dr); dr = dt.NewRow(); drDate = Mar; drVolume1 = 4935; drVolume2 = 2935; dt.Rows.Add(dr); dr = dt.NewRow(); drDate = Apr; drVolume1 = 4466; drVolume2 = 5644; dt.Rows.Add(dr); dr = dt.NewRow(); drDate = May; drVolume1 = 5117; drVolume2 = 5671; dt.Rows.Add(dr); dr = dt.NewRow(); drDate = Jun; drVolume1 = 3546; drVolume2 = 4646; dt.Rows.Add(dr); return dt; 浏览页面: private void showChart(Chart chart, double value) string xValue = A, B, C, D ; /设?置?标括?签? double yValue = value; /获?取?要癮显?示?的?值 chart.BorderSkin.SkinStyle = BorderSkinStyle.Emboss; /设?置?图?表括?边?框为a浮?雕?效果? chart.BorderlineDashStyle = ChartDashStyle.Solid; /设?置?图?表括?边?框为a实害?线? chart.BorderlineWidth = 1; /设?置?图?表括?边?框的?宽度 chart.Series0.ChartType = SeriesChartType.Pie; /设?置?图?表括?类?型为a饼纘图? chart.Series0.CustomProperties = DoughnutRadius=25, PieDrawingStyle=Concave, CollectedLabel=Other,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论