2016-03-22 4 views
0

Ich habe ein Fortran-Programm, das eine Bat-Datei erstellt, die die Befehle für Origin in Labtalk enthält. Am Ende zeigt Origin eine Grafik mit mehreren Plots. Derzeit werden alle gezeichneten Linien schwarz dargestellt. Jetzt möchte ich die Farbe der Graphen ändern. Kann mir jemand sagen wo und welchen Befehl muss ich ändern? Ich denke, das irgendwo hier passieren muss:Ändern der Diagrammfarbe in Labtalk mit einem Fortran-Programm

 ... 
    ch1=ADJUSTL(ch1) 
    WRITE(ch2,'(I3)')JJY(i) 
    ch2=ADJUSTL(ch2) 

    WRITE(4,489)CHAR(77+i),'aX'//ch1(1:LNBLNK(ch1))//'Y' 
    1//ch2(1:LNBLNK(ch2)) 
    enddo 
489 FORMAT(1H ,'%',A1,'=',A8,';') 
    ENDIF 
    FLINE='count='//NCHAR(1:LNBLNK(NCHAR))//';' 
    WRITE(4,'(1A260)')FLINE 
    WRITE(4,490) 
490 FORMAT(1H ,'window -n Data;', 
    1/1H ,'open -w %A;', 
    1/1H ,'window -r %H Data ;', 
    1/1H ,'worksheet -t 1 4; worksheet -t 2 1;', 
    1/1H ,'worksheet -n 1 %M;') 
    do i=1,NUMB 
    WRITE(4,491)i+1,CHAR(77+i) 
    enddo 
491 FORMAT(1H ,'worksheet -n ',I1,' %',A1,';') 
    WRITE(4,492) 
492 FORMAT(1H ,'window -i ;', 
    1/1H ,'window -n plot Plot ;') 
    do i=1,NUMB 
    WRITE(4,493)CHAR(77+i),i+1 
    enddo 
493 FORMAT(' %S=Data_%',A1,';', 
    1/1H ,'set %S -x Data_%M; set %S -c ',I1,';', 
    1/1H ,'layer -i %S', 
    1/1H ,'set %S -w 1000;' )  

    WRITE(4,494) 
494 FORMAT(1H ,'axis -ps x g 3;axis -ps x a 3;axis -ps x l 1;', 
    1/1H ,'axis -ps y g 3;axis -ps y a 3;axis -ps y l 1;', 
    1/1H ,'layer.x.grid.majorwidth=0.3;layer.x.grid.minorwidth=0.1;', 
    1/1H ,'layer.x.grid.majorcolor=color(black);layer.x.grid.minor  
    1color=color(black);', 
    1/1H ,'page -o l;', 
    1/1H ,'rescale;') 
    CLOSE(UNIT=4) 
    ... 

Antwort

1

Vom Labtalk documentation of set:

Syntax: set Name

-c Wert der Handlung Linienfarbe und Symbolrandfarbe nach der Farbpalette Set [ ...]

set %c -c 2; // set color to be red 
set %c -c 102; // set the next column on the right to be color index 
set %c -c 524390; // set the next column on the left to be color index 

Dies ist eigentlich in Ihrem Code getan:

do i=1,NUMB 
WRITE(4,493)CHAR(77+i),i+1 
enddo 
493 FORMAT(' %S=Data_%',A1,';', 
    1/1H ,'set %S -x Data_%M; set %S -c ',I1,';', 
    1/1H ,'layer -i %S', 
    1/1H ,'set %S -w 1000;' ) 

Nicht dass Sie I1 gewählt haben, um den Farbwert zu bezeichnen. Vielleicht ist deine Nummer irgendwann> 9? Könnten Sie die resultierende Datei überprüfen?

[Beachten Sie, dass meine Antwort nur aus der Dokumentation stammt. Ich habe keinerlei Ahnung von Labtalk. ]

+0

Hallo, Vielen Dank für das Finden der richtigen Position des Befehls. Ich überprüfte die resultierende Datei und dort habe ich die richtigen Befehle ... set% S -c 2; ... setze% S -c 3; ... setze% S -c 4; aber die Kurven in meinem Diagramm sind immer noch schwarz dargestellt. Hat jemand eine Idee warum das so ist? – user3443063

+0

Vielleicht könnten Sie eine vereinfachte Textdatei von Hand erstellen (nur ein Diagramm, 2-3 Punkte) und versuchen, die Farbe dort zu ändern. –

Verwandte Themen