Hallo noch einmal.
Also - jetzt mit abgespecktem Script: könnt Ihr das nachvollziehen?
(und ja, ich hab schon 20 Mio. verschiedene Wege versucht, zwei y-Achsen einzubauen. So wie jetzt hier konnte ich am einfachsten hier posten.)
TDM: einfache Datendatei mit Sprüngen drin, drei Kanäle: Zeit, Druck, Strom.
Call PicLoad("Template") '... neues, leeres Blatt
Call PicUpdate(0) '... wechselt in Ansicht REPORT
'--- Funktionen aufrufen
call CoSysNew
call YAxis2
call CurvesNew
'--- Funktionen
sub CoSysNew
Call GraphObjNew("2D-Axis", "2DAxis1")
'------------------- Curve and axis definition ---------------------
Call GraphObjOpen("2DAxis1")
'------------------- Axis system ------------------------------
D2AxisDispType = "Frame"
D2AxisDisp(1) = "Grid"
D2AxisDisp(2) = "Grid"
'------------------- Axis position ----------------------------
D2AxisSystem = "one system"
Call PicUpdate(0)
'------------------- Axis parameters --------------------------
'------------------- X scaling --------------------------------
Call GraphObjOpen("2DXAxis1_1")
D2AxisXDivMode = "linear"
D2AxisXScaleType = "begin/end manual"
D2AxisXBegin = 4.2
D2AxisXEnd = 5
D2AxisXSpanWidth = 2
'------------------- X axis text ------------------------------
D2AxisXTxt = "@@ChnName(CurrChnNo)@@ [@@ChnDim(CurrChnNo)@@]"
Call GraphObjClose("2DXAxis1_1")
Call PicUpdate(0)
'------------------- Y scala ----------------------------------
Call GraphObjOpen("2DYAxis1_1")
D2AxisYDivMode = "linear"
D2AxisYScaleType = "begin/end manual"
D2AxisYBegin = 0
D2AxisYEnd = 60
'------------------- Y axis text ------------------------------
D2AxisYTxt = "@@ChnName(CurrChnNo)@@ [@@ChnDim(CurrChnNo)@@]"
Call GraphObjClose("2DYAxis1_1")
Call PicUpdate(0)
'------------------- Position ---------------------------------
D2AxisBottom = 50.17
D2AxisLeft = 7.7
D2AxisTop = 9.4
D2AxisRight = 34.79
Call GraphObjClose("2DAxis1")
Call PicUpdate(0)
end sub
sub YAxis2
Call GraphObjOpen("2DAxis1")
Call GraphObjOpen("2DYAxis1_2")
D2AxisXOffset = 0
D2AxisXOffOrigin = "AxisEnd"
D2AxisOffsetY = 0
D2AxisHide(2) = 0
Call GraphObjClose("2DYAxis1_2")
Call PicUpdate(0) '... PicDoubleBuffer
'------------------- Y scala ----------------------------------
Call GraphObjOpen("2DYAxis1_2")
D2AxisYDivMode = "linear"
D2AxisYScaleType = "begin/end manual"
D2AxisYBegin = 0
D2AxisYEnd = 2.5
'------------------- Y axis text ------------------------------
D2AxisYTxt = "@@ChnName(CurrChnNo)@@ [@@ChnDim(CurrChnNo)@@]"
Call GraphObjClose("2DYAxis1_2")
Call PicUpdate(0) '... PicDoubleBuffer
Call GraphObjClose("2DAxis1")
end sub
sub CurvesNew
Call GraphObjOpen("2DAxis1")
Call GraphObjNew("2D-Curve", "2DObj1_Curve1")
'------------------- Curve list -------------------------------
Call GraphObjOpen("2DObj1_Curve1")
D2CChnXName = "[1]/time"
D2CChnYName = "[1]/Druck_A"
D2CAxisPairNo = 1
D2CurveColor = "blue"
Call GraphObjClose("2DObj1_Curve1")
Call GraphObjNew("2D-Curve", "2DObj1_Curve2")
Call GraphObjOpen("2DObj1_Curve2")
D2CChnXName = "[1]/time"
D2CChnYName = "[1]/Strom"
D2CAxisPairNo = 2
D2CurveColor = "red"
Call GraphObjClose("2DObj1_Curve2")
Call GraphObjClose("2DAxis1")
Call PicUpdate(0)
end sub
(Farb- und Absatzformatierung spare ich mir hier im Forum mal)
-> warum macht der keine y-Achse rechts?
Ach ja, mein DIAdem 11.1 läuft auf WinXP.
Edit:
Halte ich das Script nach "call YAxis2" an, mache die y-Achse von Hand rein, rufe dann "call CurvesNew" auf, ist alles wie es gehört.
Wer kann mir helfen??