Announcement

Collapse
No announcement yet.

ZedGraph AchsenScalierung umdrehen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ZedGraph AchsenScalierung umdrehen

    Guten Tag Community

    Ich weiss nicht, ob ich hier richtig bin. Ich arbeite mit ZedGraph und habe mir zwei Kurven aufzeichnen lassen.

    Ist es irgendwie möglich, nur die rote AchsenScalierung der Y2Achse (rechts) umzudrehen? Statt eben wie hier von unten nach oben 200 bis auf 1800, sondern von oben nach unten. Die x-Achse und die linke y-Achse sind in der Scalierung einwandfrei.

    Die rote Kurve würde dann auch von links unten nach rechts oben verlaufen.


    [highlight=vbnet]
    Private Sub ZedGraphics()
    Dim myP As GraphPane = zgControl1.GraphPane

    'Rahmen im Diagramm
    myP.Border.Color = Color.Transparent
    myP.Chart.Border.Color = Color.DarkBlue

    ' Set the titles and axis labels
    myP.Title.IsVisible = False

    'Weitere Titel
    myP.XAxis.Title.Text = "Strecke (mm)"
    myP.YAxis.Title.Text = "Alpha []"
    myP.Y2Axis.Title.Text = "Volumen"

    ' Make up some data points based on the Sine function
    Dim list As New PointPairList
    Dim list2 As New PointPairList
    Dim i As Integer, x As Double, y As Double, y2 As Double


    ' DatenBerechnung
    For i = 0 To 35
    x = ...
    y = ...
    y2 = y * ...
    list.Add(x, y)
    list2.Add(x, y2)
    Next i


    'Vorhande Graphen löschen
    Try
    Dim anz As Integer = myP.CurveList.Count
    For i = 0 To anz - 1
    myP.CurveList(i).Clear()
    Next

    myP.AxisChange()
    zgControl1.Refresh()
    Catch ex As Exception
    MsgBox(ex.Message)
    Exit Sub
    End Try

    'Blauer Graphen
    Dim myCurve As LineItem
    myCurve = myP.AddCurve("Alpha", list, Color.Blue, SymbolType.Diamond)
    myCurve.Symbol.Fill = New Fill(Color.Pink)

    'Roter Graphen
    myCurve = myP.AddCurve("Beta", list2, Color.Red, SymbolType.Circle)
    myCurve.Symbol.Fill = New Fill(Color.LightGreen)

    'Legende
    myP.Legend.FontSpec.FontColor = Color.DarkBlue
    myP.Legend.Border.Color = Color.Transparent

    ' Assoziere mit Y2Achse
    myCurve.IsY2Axis = True

    '
    myP.XAxis.MajorGrid.IsVisible = True

    '
    myP.YAxis.Scale.FontSpec.FontColor = Color.Blue
    myP.YAxis.Scale.FontSpec.Family = "arial"
    myP.YAxis.Scale.FontSpec.Size = 12
    myP.YAxis.Scale.IsVisible = True

    myP.YAxis.Title.FontSpec.FontColor = Color.Blue

    ' Achsenskalierung farblich
    myP.YAxis.MajorTic.IsOpposite = False
    myP.YAxis.MajorTic.Color = Color.DarkBlue
    myP.YAxis.MinorTic.IsOpposite = False
    myP.YAxis.MinorTic.Color = Color.DarkBlue

    '
    myP.YAxis.MajorGrid.IsZeroLine = True
    myP.YAxis.Color = Color.DarkBlue
    myP.YAxis.MajorGrid.Color = Color.DarkBlue
    myP.YAxis.MajorGrid.PenWidth = 1

    '
    myP.YAxis.Scale.Align = AlignP.Inside

    '
    myP.YAxis.Scale.Min = ...
    myP.YAxis.Scale.Max = ...

    '
    myP.Y2Axis.IsVisible = True

    '
    myP.Y2Axis.Scale.FontSpec.FontColor = Color.Red
    myP.Y2Axis.Scale.FontSpec.Family = "arial"
    myP.Y2Axis.Scale.FontSpec.Size = 12
    myP.Y2Axis.Scale.IsVisible = True

    myP.Y2Axis.Title.FontSpec.FontColor = Color.Red

    '
    myP.Y2Axis.MajorTic.IsOpposite = False
    myP.Y2Axis.MajorTic.Color = Color.DarkBlue
    myP.Y2Axis.MinorTic.IsOpposite = False
    myP.Y2Axis.MinorTic.Color = Color.DarkBlue

    '
    myP.Y2Axis.MajorGrid.IsVisible = True
    myP.Y2Axis.MajorGrid.Color = Color.DarkBlue
    myP.Y2Axis.MajorGrid.IsZeroLine = True
    myP.Y2Axis.MajorGrid.PenWidth = 1

    '
    myP.Y2Axis.Scale.Align = AlignP.Inside

    'x-Achse
    myP.XAxis.Scale.FontSpec.FontColor = Color.DarkBlue
    myP.XAxis.Scale.FontSpec.Family = "arial"
    myP.XAxis.Scale.FontSpec.Size = 12

    myP.XAxis.Title.FontSpec.FontColor = Color.DarkBlue

    myP.XAxis.MajorTic.Color = Color.DarkBlue
    myP.XAxis.MinorTic.Color = Color.DarkBlue

    'myP.Chart.Fill = New Fill(Color.White, Color.LightGray, 45.0F)
    myP.Chart.Fill = New Fill(Color.White, Color.White, 45.0F)

    Dim text As New TextObj("Zoom: left mouse & drag" & Chr(10) & "Pan: middle mouse & drag" & Chr(10) & "Context Menu: right mouse", 0.05F, 0.95F, CoordType.ChartFraction, AlignH.Left, AlignV.Bottom)
    text.FontSpec.StringAlignment = StringAlignment.Near
    text.FontSpec.FontColor = Color.DarkBlue
    myP.GraphObjList.Add(text)

    zgControl1.IsShowHScrollBar = True
    zgControl1.IsShowVScrollBar = True
    zgControl1.IsAutoScrollRange = True
    zgControl1.IsScrollY2 = True

    zgControl1.IsShowPointValues = True

    With myP.YAxis
    .Scale.MinAuto = True
    .Scale.MaxAuto = True
    .Scale.MajorStepAuto = True
    .Scale.MinorStepAuto = True
    .CrossAuto = True
    .Scale.MagAuto = True
    .Scale.FormatAuto = True
    End With
    With myP.Y2Axis
    .Scale.MinAuto = True
    .Scale.MaxAuto = True
    .Scale.MajorStepAuto = True
    .Scale.MinorStepAuto = True
    .CrossAuto = True
    .Scale.MagAuto = True
    .Scale.FormatAuto = True
    End With
    With myP.XAxis
    .Scale.MinAuto = True
    .Scale.MaxAuto = True
    .Scale.MajorStepAuto = True
    .Scale.MinorStepAuto = True
    .CrossAuto = True
    .Scale.MagAuto = True
    .Scale.FormatAuto = True
    End With

    zgControl1.AxisChange()
    zgControl1.Invalidate()
    myP.YAxis.Scale.IsUseTenPower = True
    myP.Y2Axis.Scale.IsUseTenPower = True
    End Sub
    [/highlight]



    Gruss und Danke für die Bemühungen


    exc-jdbi
    Attached Files

  • #2
    IsReverse

    Ich habs gefunden

    [highlight=vbnet]
    myPane.Y2Axis.Scale.IsReverse = True
    [/highlight]


    Freundliche Grüsse

    exc-jdbi

    Comment

    Working...
    X