Hallo, anbei mein Quellcode von Zedgraph
bis jetzt ist es so, dass der Wert geschrieben wird auf der Y Achse und auf der X achse ein INT nur inkrementiert wird. Wie kann man es lösen, dass statt des INT's die Uhrzeit in Folgenden Format stetht "HH:mm:ss" und wie muss ich die PointPairList beschreiben (hier sind ja nur Double erlaubt...)
habe bei Google schon sehr lange gesucht, habe aber nichts gefunden, da ich ein totaler neuling in sachen VB bin
bis jetzt ist es so, dass der Wert geschrieben wird auf der Y Achse und auf der X achse ein INT nur inkrementiert wird. Wie kann man es lösen, dass statt des INT's die Uhrzeit in Folgenden Format stetht "HH:mm:ss" und wie muss ich die PointPairList beschreiben (hier sind ja nur Double erlaubt...)
habe bei Google schon sehr lange gesucht, habe aber nichts gefunden, da ich ein totaler neuling in sachen VB bin
VB.NET-Quellcode
- Imports ZedGraph
- Public Class frmGraph1
- Dim graph_x_achse_min As Double = 0
- Dim graph_x_achse_max As Double = 2
- Dim graph_y_achse_min As Int32 = 0
- Dim graph_y_achse_max As Int32 = 100
- Dim x_max_change As Boolean = False
- Private Sub frmGraph1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- '
- CreateGraph(zg1)
- txtWert_min.Text = 0
- txtWert_max.Text = 100
- Timer1.Enabled = True
- End Sub
- Public Sub GraphInit()
- End Sub
- Public Sub CreateGraph(ByVal Graph As ZedGraphControl)
- Try
- Dim myPane As GraphPane = Graph.GraphPane
- ' Set the titles and axis labels
- myPane.Title.Text = ""
- myPane.XAxis.Title.Text = "Minuten"
- myPane.XAxis.MajorGrid.Color = Color.Aqua
- myPane.YAxis.Title.Text = ""
- ' Make up some data points from the Sine function
- myPane.CurveList.Clear()
- frmMain.list16_1.Add(frmMain.m_icount / 60, frmMain.Buffer(1))
- ' Generate a blue curve with circle symbols, and "My Curve 2" in the legend
- If CheckBox1.Checked Then
- Dim Kurve16_1 As LineItem = myPane.AddCurve(frmMain.alias16_1.Text, frmMain.list16_1, frmFarben.farben(1), SymbolType.None)
- End If
- ' Fill the area under the curve with a white-red gradient at 45 degrees
- 'myCurve.Line.Fill = New Fill(Color.White, Color.Red, 45.0F)
- ' Make the symbols opaque by filling them with white
- 'myCurve.Symbol.Fill = New Fill(Color.White)
- ' Fill the axis background with a color gradient
- ' myPane.Chart.Fill = New Fill(Color.White, Color.LightGoldenrodYellow, 45.0F)
- ' Fill the pane background with a color gradient
- 'myPane.Fill = New Fill(Color.White, Color.FromArgb(220, 220, 255), 45.0F)
- myPane.XAxis.Scale.Min = graph_x_achse_min
- If myPane.IsZoomed = False Then
- If x_max_change = False Then
- If myPane.XAxis.Scale.Max < 2 Then
- myPane.XAxis.Scale.Max = 2
- Else
- If frmMain.m_icount / 60 >= myPane.XAxis.Scale.Max Then
- myPane.XAxis.Scale.Max = myPane.XAxis.Scale.Max * 2
- End If
- End If
- Else
- myPane.XAxis.Scale.Max = graph_x_achse_max
- End If
- If txtzeit_bis.Focused = False Then
- txtzeit_bis.Text = myPane.XAxis.Scale.Max.ToString
- End If
- myPane.YAxis.Scale.Max = graph_y_achse_max
- myPane.YAxis.Scale.Min = graph_y_achse_min
- myPane.YAxis.Scale.MinorStep = graph_y_achse_max / 100
- myPane.YAxis.Scale.MajorStep = graph_y_achse_max / 20
- myPane.XAxis.Scale.MinorStep = myPane.XAxis.Scale.Max / 100
- myPane.XAxis.Scale.MajorStep = myPane.XAxis.Scale.Max / 20
- Else
- myPane.YAxis.Scale.MinorStepAuto = True
- myPane.YAxis.Scale.MajorStepAuto = True
- myPane.XAxis.Scale.MinorStepAuto = True
- myPane.XAxis.Scale.MajorStepAuto = True
- End If
- graph_x_achse_max = myPane.XAxis.Scale.Max
- 'myPane.YAxis.MinorGrid.IsVisible = True
- 'myPane.YAxis.MajorGrid.IsVisible = True
- 'myPane.XAxis.MajorGrid.IsVisible = True
- 'myPane.XAxis.MinorGrid.IsVisible = True
- 'Graph.AxisChange()
- SetSize()
- Me.Refresh()
- Catch ex As Exception
- MsgBox("Fehler beim Zeichnen des Graphen, Programm wird gestoppt,", vbCritical)
- Me.Close()
- End Try
- End Sub
- Private Sub SetSize()
- Try
- zg1.Location = New Point(10, 10)
- ' Leave a small margin around the outside of the control
- zg1.Size = New Size(ClientRectangle.Width - 20, ClientRectangle.Height - 110)
- pan_graphauswahl.Size = New Size(200, ClientRectangle.Height - 110)
- Me.GroupBox3.Location = New System.Drawing.Point(10, ClientRectangle.Location.Y + zg1.Size.Height + 10)
- pan_graphauswahl.Location = New System.Drawing.Point(ClientRectangle.Location.Y + zg1.Size.Width + 5, 10)
- Label4.Text = "<"
- Label4.location = New System.Drawing.Point(0, zg1.Size.Height / 2)
- Catch ex As Exception
- MsgBox("Fehler beim der Größenberechnung, Programm wird gestoppt,", vbCritical)
- End Try
- End Sub
- Private Sub btnZeit_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZeit_ok.Click
- If graph_x_achse_max <> CDbl(txtzeit_bis.Text) Then
- x_max_change = True
- End If
- graph_x_achse_min = CDbl(txtzeit_von.Text)
- graph_x_achse_max = CDbl(txtzeit_bis.Text)
- CreateGraph(zg1)
- End Sub
- Private Sub btnZeit_reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZeit_reset.Click
- x_max_change = False
- graph_x_achse_min = 0
- graph_x_achse_max = 2
- CreateGraph(zg1)
- End Sub
- Private Sub btnWert_min_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWert_min_ok.Click
- graph_y_achse_min = CInt(txtWert_min.Text)
- CreateGraph(zg1)
- End Sub
- Private Sub btn_Wert_max_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Wert_max_ok.Click
- graph_y_achse_max = CInt(txtWert_max.Text)
- CreateGraph(zg1)
- End Sub
- Private Sub frmGraph_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
- SetSize()
- End Sub
- Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click
- If Label4.Text = "<" Then
- pan_graphauswahl.Location = New System.Drawing.Point(ClientRectangle.Location.Y + zg1.Size.Width - 190, 10)
- Label4.Text = ">"
- ElseIf Label4.Text = ">" Then
- pan_graphauswahl.Location = New System.Drawing.Point(ClientRectangle.Location.Y + zg1.Size.Width + 5, 10)
- Label4.Text = "<"
- End If
- End Sub
- Private Sub pan_graphauswahl_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles pan_graphauswahl.Scroll
- Label4.Location = New System.Drawing.Point(0, zg1.Size.Height / 2)
- End Sub
- Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
- End Sub
- End Class