⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmgraph.cs

📁 车载GPS?今天这个就是最好的工具
💻 CS
📖 第 1 页 / 共 5 页
字号:
				nA = 0;       // Initialize axis, non-zero only if using MultiAxesSubsets
				nX = pX;      // Initialize nX and nY with mouse location
				nY = pY;
				Pego1.PeFunction.ConvPixelToGraph(ref nA,ref nX,ref nY,ref fX,ref fY, false, false, false);

				// We now know data coordinates for mouse location //

				// Code to pick closest point index //
				fY = Math.Abs(fX - Convert.ToInt32(fX));
				if(fY > 0.5) 
				{
					nX = Convert.ToInt32(fX);
				}
				else
				{
					nX = Convert.ToInt32(fX) - 1;
				}

				if(fX < 1 || fX > 731) 
				{  // 731 points per subset in data file
					Pego1.PeAnnotation.Table.Text[12, 0] = "        ";
					Pego1.PeAnnotation.Table.Text[13, 0] = "        ";
					Pego1.PeAnnotation.Table.Text[14, 0] = "        ";
					Pego1.PeAnnotation.Table.Text[15, 0] = "        ";
					Pego1.PeAnnotation.Table.Text[16, 0] = "        ";
					Pego1.PeAnnotation.Table.Text[17, 0] = "        ";
					Pego1.PeFunction.DrawTable(0);
					return;
				}

				nX = Convert.ToInt32(nX - 1.0F);

				// Get Data at closest point //
				fHigh = Pego1.PeData.Y[0, nX];
				fLow = Pego1.PeData.Y[1, nX];
				fOpen = Pego1.PeData.Y[2, nX];
				fClose = Pego1.PeData.Y[3, nX];
				fVolume = Pego1.PeData.Y[7, nX];
				szDate = Pego1.PeData.PointLabels[nX];

				// Place text in table annotation //
				// Get numeric precision //
				nX = Convert.ToInt32(Pego1.PeData.Precision);
				szFmt = "###.";
				for(t = 0; t <= (nX - 1); t++)
				{
					szFmt = szFmt + "0";
				}

				// Place text in table annotation //
				Pego1.PeAnnotation.Table.Working = 0;
				Pego1.PeAnnotation.Table.Text[12, 0] = szDate;

				Pego1.PeAnnotation.Table.Text[13, 0] = "H:" + String.Format("{0:" + szFmt + "}",fHigh);
				Pego1.PeAnnotation.Table.Text[14, 0] = "L:" + String.Format("{0:" + szFmt + "}",fLow);
				Pego1.PeAnnotation.Table.Text[15, 0] = "O:" + String.Format("{0:" + szFmt + "}",fOpen);
				Pego1.PeAnnotation.Table.Text[16, 0] = "C:" + String.Format("{0:" + szFmt + "}",fClose);
				Pego1.PeAnnotation.Table.Text[17, 0] = "V:" + String.Format("{0:#############}",fVolume);

				Pego1.PeFunction.DrawTable(0);
			}
		}

		private void CreateSimpleGraph()
		{
			int s, p;
			Random Rand_Num = new Random(unchecked((int)DateTime.Now.Ticks));

			// Prepare images in memory //
			Pego1.PeConfigure.PrepareImages = true;

			// Pass Data //
			Pego1.PeData.Subsets = 4;
			Pego1.PeData.Points = 12;

			for(s = 0; s <= 3; s++)
			{
				for(p = 0; p <= 11; p++)
				{
					Pego1.PeData.Y[s, p] = ((p + 1) * 50) + ((float)(Rand_Num.NextDouble()) * 250) + 2;
				}
			}

			// Set DataShadows to show 3D //
			Pego1.PePlot.DataShadows = DataShadows.Shadows;

			Pego1.PeUserInterface.Allow.FocalRect = false;
			Pego1.PePlot.Method = GraphPlottingMethod.Bar;
			Pego1.PeGrid.LineControl = GridLineControl.None;
			Pego1.PePlot.Allow.Ribbon = true;
			Pego1.PeUserInterface.Allow.Zooming = AllowZooming.HorzAndVert;
			Pego1.PeUserInterface.Allow.ZoomStyle = ZoomStyle.Ro2Not;	
			Pego1.PeString.MainTitle = "Units Sold per Month";
			Pego1.PeString.SubTitle = "";
			Pego1.PeString.YAxisLabel = "Units Sold";
			Pego1.PeString.XAxisLabel = "Month";

			// subset labels //
			Pego1.PeString.SubsetLabels[0] = "Texas";
			Pego1.PeString.SubsetLabels[1] = "Florida";
			Pego1.PeString.SubsetLabels[2] = "Washington";
			Pego1.PeString.SubsetLabels[3] = "California";

			// point labels //
			Pego1.PeString.PointLabels[0] = "January";
			Pego1.PeString.PointLabels[1] = "February";
			Pego1.PeString.PointLabels[2] = "March";
			Pego1.PeString.PointLabels[3] = "April";
			Pego1.PeString.PointLabels[4] = "May";
			Pego1.PeString.PointLabels[5] = "June";
			Pego1.PeString.PointLabels[6] = "July";
			Pego1.PeString.PointLabels[7] = "August";
			Pego1.PeString.PointLabels[8] = "September";
			Pego1.PeString.PointLabels[9] = "October";
			Pego1.PeString.PointLabels[10] = "November";
			Pego1.PeString.PointLabels[11] = "December";

			// subset colors //
			Pego1.PeColor.SubsetColors[0] = Color.FromArgb(198, 0, 0);
			Pego1.PeColor.SubsetColors[1] = Color.FromArgb(0, 198, 198);
			Pego1.PeColor.SubsetColors[2] = Color.FromArgb(198, 198, 0);
			Pego1.PeColor.SubsetColors[3] = Color.FromArgb(0, 198, 0);

			// subset line types //
			Pego1.PeLegend.SubsetLineTypes[0] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[1] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[2] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[3] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[4] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[5] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[6] = LineType.MediumSolid;
			Pego1.PeLegend.SubsetLineTypes[7] = LineType.MediumSolid;
			
			// subset point types //
			Pego1.PeLegend.SubsetPointTypes[0] = PointType.DotSolid;
			Pego1.PeLegend.SubsetPointTypes[1] = PointType.UpTriangleSolid;
			Pego1.PeLegend.SubsetPointTypes[2] = PointType.SquareSolid;
			Pego1.PeLegend.SubsetPointTypes[3] = PointType.DownTriangleSolid;
			Pego1.PeLegend.SubsetPointTypes[4] = PointType.Dot;
			Pego1.PeLegend.SubsetPointTypes[5] = PointType.UpTriangle;
			Pego1.PeLegend.SubsetPointTypes[6] = PointType.Square;
			Pego1.PeLegend.SubsetPointTypes[7] = PointType.DownTriangle;
			
			Pego1.PeLegend.SimplePoint = true;	
			Pego1.PeLegend.SimpleLine = true;
			Pego1.PeLegend.Style = LegendStyle.OneLine;
				
			// Allow stacked type graphs //
			Pego1.PePlot.Allow.StackedData = true;

			// Various other features //
			Pego1.PeFont.Fixed = true;
			Pego1.PeColor.BitmapGradientMode = true;
			Pego1.PeColor.QuickStyle = QuickStyle.MediumLine;

			Pego1.PePlot.Option.GradientBars = 8;
			Pego1.PePlot.Option.LineShadows = true;
			Pego1.PeFont.MainTitle.Bold = true;
			Pego1.PeFont.SubTitle.Bold = true;
			Pego1.PeFont.Label.Bold = true;
			Pego1.PeConfigure.TextShadows = TextShadows.BoldText;
			Pego1.PeFont.FontSize = FontSize.Large;
		}

		public void CreateAllCharts(int nChart)
		{
			m_nChart = nChart;
			if(Pego1 == null)
				return;
			Timer1.Enabled = false;
			Pego1.PeFunction.Reset();
			
			Pego1.PeFunction.Reinitialize();
			Pego1.PeConfigure.PrepareImages = true;        
			Random Rand_Num = new Random(unchecked((int)DateTime.Now.Ticks));
			
            if(m_nChart == 0)
            {
                int  p,k;
				string mstr,mstrName;

                Pego1.PeConfigure.PrepareImages = true;

                // Pass Data //
                Pego1.PeData.Subsets = 2;
                Pego1.PeData.Points = 12;
				for(p = 0; p < 12; p++)
				{
					if ( p<10 )
					{
						mstr= System.DateTime.Now.Year.ToString() + "0" + (p+1).ToString();
					}
					else
					{
						mstr= System.DateTime.Now.Year.ToString()  + (p+1).ToString();
					}

					DataTable dtFilter=new DataTable();
					DataRow myDataRow;
					mstrName="Select distinct Count(AcceptNO) as AcceptNO From Accept Where SUBSTRING(AcceptNO, 6, 6) = '" + mstr + "'"; 
					SqlConnection cnnSql = new SqlConnection(strConn);
					cnnSql.Open();
					dtFilter.Clear();
					SqlCommand cmdSql = new SqlCommand(mstrName,cnnSql);
					SqlDataAdapter daSql = new SqlDataAdapter(cmdSql);
					try 
					{
						daSql.Fill(dtFilter);
					} 
					catch(SqlException expSql)
					{
						MessageBox.Show(expSql.ToString(), this.Text);
						return;
					}
					cnnSql.Close();
					cmdSql.Dispose();
					cnnSql.Dispose();
					myDataRow=dtFilter.Rows[0];
					mstrName=myDataRow["AcceptNO"].ToString();
					if (mstrName=="0")
					{
						Pego1.PeData.Y[0, p] =0;
					}
					else
					{
						Pego1.PeData.Y[0, p] =Int32.Parse(mstrName);
					}
				}

				k= System.DateTime.Now.Year - 1;
				for(p = 0; p < 12; p++)
				{
					if ( p<10 )
					{
						
						mstr= k.ToString() + "0" + (p+1).ToString();
					}
					else
					{
						mstr= k.ToString()  + (p+1).ToString();
					}

					DataTable dtFilter=new DataTable();
					DataRow myDataRow;
					mstrName="Select Count(AcceptNO) as AcceptNO From Accept Where SUBSTRING(AcceptNO, 6, 6) = '" + mstr + "'"; 
					SqlConnection cnnSql = new SqlConnection(strConn);
					cnnSql.Open();
					dtFilter.Clear();
					SqlCommand cmdSql = new SqlCommand(mstrName,cnnSql);
					SqlDataAdapter daSql = new SqlDataAdapter(cmdSql);
					try 
					{
						daSql.Fill(dtFilter);
					} 
					catch(SqlException expSql)
					{
						MessageBox.Show(expSql.ToString(), this.Text);
						return;
					}
					cnnSql.Close();
					cmdSql.Dispose();
					cnnSql.Dispose();
					myDataRow=dtFilter.Rows[0];
					mstrName=myDataRow["AcceptNO"].ToString();
					if (mstrName=="0")
					{
						Pego1.PeData.Y[1, p] =0;
					}
					else
					{
						Pego1.PeData.Y[1, p] =Int32.Parse(mstrName);
					}
				}

                Pego1.PePlot.DataShadows = DataShadows.Shadows;
                Pego1.PeUserInterface.Allow.FocalRect = false;
                Pego1.PePlot.Method = GraphPlottingMethod.Bar;
                Pego1.PeGrid.LineControl = GridLineControl.None;
                Pego1.PePlot.Allow.Ribbon = true;
                Pego1.PeUserInterface.Allow.Zooming = AllowZooming.HorzAndVert;
                Pego1.PeUserInterface.Allow.ZoomStyle = ZoomStyle.Ro2Not;

                Pego1.PeString.MainTitle = "今年/去年同月事故比较";
                Pego1.PeString.SubTitle = "";
                Pego1.PeString.YAxisLabel = "事故 数量";
                Pego1.PeString.XAxisLabel = "月";

                // subset labels //
                Pego1.PeString.SubsetLabels[0] = System.DateTime.Now.Year.ToString() + "年";
                Pego1.PeString.SubsetLabels[1] = (Int32.Parse(System.DateTime.Now.Year.ToString()) -1) + "年" ;

                // point labels //
                Pego1.PeString.PointLabels[0] = "一月";
                Pego1.PeString.PointLabels[1] = "二月";
                Pego1.PeString.PointLabels[2] = "三月";
                Pego1.PeString.PointLabels[3] = "四月";
                Pego1.PeString.PointLabels[4] = "五月";
                Pego1.PeString.PointLabels[5] = "六月";
                Pego1.PeString.PointLabels[6] = "七月";
                Pego1.PeString.PointLabels[7] = "八月";
                Pego1.PeString.PointLabels[8] = "九月";
                Pego1.PeString.PointLabels[9] = "十月";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -