2016-06-22 5 views
-1

Ich habe ein Diagramm mit exponentiellem y-Achsenbereich. Ich verwende einen Multi-Slot-Befehl, indem ich zwei Bilder in eine Zeile einfüge. Aufgrund dieser weiten Y-Achse verliere ich etwas Raum, um meine Plots besser darstellen zu können. Ich mag im Grunde so etwas wie dieseBearbeiten des Y-Achsenbereichs in Gnuplot

enter image description here

Wie könnte ich das tun? Ich denke, dafür habe ich einige mathematische Operationen in der y-Achse durchgeführt. Auch was ist der bequemste Befehl zum Einfügen (xE-10) oben links im Plot.

reset 
set terminal epslatex size 16cm,18cm color colortext 
set output new.tex 
set key off 
set format $%g$ 
set title "sinx" 
set ylabel "[kNm]" 
plot 1000000*sin(x) 

Dies ist nicht mein genauer Code, aber es sieht ähnlich aus. Die Darstellung, die ich vorgestellt habe, ist ein Teil des Multiplot-Codes und ich verwende 7 Eingabedateien mit Zeitreihendaten von 300 Sekunden zu einem Zeitschritt von 0,02. Der Punkt, ich will die y-Achse Bereich bearbeiten (einige mathtematical Ausdrücke verwenden) und beinhalten auch den Begriff (Xe-10) auf der Oberseite des Grundstücks so etwas wie dieses

enter image description here

+0

Für diese Art von Fragen hilft es wirklich, wenn Sie einen Beispielcode hinzufügen, so dass Leute eine Lösung reproduzieren und leicht testen können. Dies führt zu viel mehr Antwort. – Bernhard

+0

Ich möchte meinen Code wirklich präsentieren, da er bei der schnellen Lösung des Problems helfen würde. Ich verwende jedoch andere Software, um Gnuplot auszuführen. Die Art, den Gnuplot-Code zu präsentieren, wird also etwas anders aussehen. Obwohl ich den Code vorstellen möchte, wird es verwirrend sein, wenn ich dies tue, während ich den Plot-Befehl innerhalb einer Schleife in einer Klasse überlasse, die auf oops folgt. Bezüglich des Bildes, das ich oben gepostet habe, ist ein bearbeitetes Bild in Farbe. Ich möchte eigentlich, dass die Handlung so aussieht, also habe ich ein paar Anpassungen (wie zB das Hinzufügen von * E-10) in Farbe vorgenommen. –

+0

Sie können einfach ein einfaches gnuplot-Skript erstellen, das genau repliziert, was Sie tatsächlich sehen. – Bernhard

Antwort

1

Sie können den Exponenten manuell hinzufügen mit einer set label .... Zum Beispiel hat die folgende Funktion große Werte innerhalb des vorgegebenen Intervalls:

plot[0:50] exp(x) 

enter image description here

Wir legen können die „x 10^21“ manuell an der gewünschten Stelle nach der aufgetragenen Menge durch Dividieren:

set label 1 "{/Symbol \264} 10^{21}" at graph 0,1.025 left 
plot[0:50] exp(x)/1e21 

enter image description here

Sie haben mit der genauen Platzierung des Exponenten, vorsichtig sein, da sie außerhalb liegen könnten die Zeichenfläche, in diesem Fall sollten Sie den oberen Rand mit set tmargin ... senken. Um das Symbol "Zeiten" zu verwenden, müssen Sie die Option enhanced an Ihr Terminal übergeben. Mit dem epslatex-Terminal können Sie die Latex-Syntax verwenden: $\times 10^{21}$.