DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Ursprung der y-Achse verschoben

Hallo!

Ich habe folgendes dringendes Problem und komme einfach nicht weiter....

Habe im Report ein Balkendiagramm erstellt. Die x-Skalierung (Zeitkanal) ändere ich dynamisch mittels Script. Im Diagramm werden 4 Balken, also 4 Kanäle dargestellt. Die Einstellung der y-Achse ist auf "complete automatic" gesetzt. Treten Werte auf, welche allesamt negativ sind, so verschiebt DIAdem die x-Achse eigenständig nach unten, so dass sie bei z.B. dem Wert "-3" die y-Achse schneidet. Die Balken sitzen wie gewohnt auf der Achse, und repräsentieren nunmehr nicht den wahren Wert, welcher dargestellt werden soll. eigentlich sollte doch der Koordinatenursprung gleich bleiben und die Balken sollten immer von y=0 entweder in positive, oder in negative Richtung zeigen.... dies ist aber nicht der Fall...

Habe schon versucht, im Script die Einstellung "...Origin = 0"  für die y-achse zu setzen, aber dann kann ich den Wertebereich nicht mehr dynamisch von DIAdem anpassen lassen, und das muss ich , da ich die Grenzen des Wertebereichs nicht kenne....

Hoffe, es kann mir jemand weiterhelfen!!

Mit besten Grüßen!
Ralf.
0 Kudos
Message 1 of 5
(6,348 Views)

Hallo Ralf!

Die einzige Methode die ich kenne ist zuerst DIAdem mit der Automatik den Wertebereich berechnen lassen und anschließend auf Manuell umschalten und die gewünschten Werte ändern. Da das so nur im Script geht funktioniert das Layout dann nur mit dem Script.

Option Explicit
 
' Sicherstellen das Automatik aktiv ist
Call GraphObjOpen("2DAxis1")
  Call GraphObjOpen("2DYAxis1_1")
    D2AxisYScaleType ="complete automatic"
  Call GraphObjClose("2DYAxis1_1")
Call GraphObjClose("2DAxis1")
 
' Skalierung berechnen
Call PicUpdate()
 
Call GraphObjOpen("2DAxis1")
  Call GraphObjOpen("2DYAxis1_1")
    D2AxisYScaleType ="manual"
    D2AxisYEnd       =0
    D2AxisYOrigin    =0
  Call GraphObjClose("2DYAxis1_1")
Call GraphObjClose("2DAxis1")
 
' Aktualisierung
Call PicUpdate()

Man könnte im Script auch wieder auf Automatik zurückstellen dann würde nur nach der nächsten Änderung im Kurvendialog falsch skaliert.

Matthias

Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 2 of 5
(6,331 Views)
Hallo Ralf,

maßgebend für die gewünschte Darstellung ist der Ursprung der Y-Achse (D2AxisYOrigin), der den Wert Null haben muss. Wenn ein einfaches 2D-Achsensystem benutzt wird - also ohne Rahmen - stellt DIAdem alles automatisch richtig ein. Wir ein Achsensystemmit Rahmen verwendet, können die Einstellungen wie von Matthias beschrieben benutzt werden (allerdings ohne "D2AxisYEnd = 0", das ist nicht notwendig).

Gruß
Walter
0 Kudos
Message 3 of 5
(6,320 Views)
Hallo Walter!
 
Bei meinen Versuchen mit -3, -5, -11 wurde die Achse, wenn nur der Ursprung auf 0 gesetzt wurde, bei -3 gezeichnet. Ralf wollte sie aber wohl bei 0 haben weshalb ich auch noch das D2AxisYEnd gesetzt habe.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 4 of 5
(6,318 Views)
Vielen Dank für die schnelle Hilfe!!

Mir ist noch was anderes eingefallen... hab einfach bei allen Diagrammen ne Konstante mit dem Wert 0.1 eingefügt, welche keine Farbe hat.... dieser postitive Wert erzwingt die korrekte Achsendarstellung.

Mit besten Grüßen.
Ralf.
0 Kudos
Message 5 of 5
(6,314 Views)