Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: subfigure, pstricks und ein paar Fragen

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9

    Question subfigure, pstricks und ein paar Fragen

    Hallo,

    ich möchte vier Graphen mit pstricks in einer subfigure-Umgebung plotten. Die Daten werden dabei aus Dateien ausgelesen. Das funktioniert auch soweit, allerdings hätte ich noch ein paar Fragen dazu und hoffe, dass Ihr mir helfen könnt.

    Wenn ihr das unten angehängte Beispiel ausführt, dann werdet Ihr sehen, dass bei fast allen Plots die oberste Beschriftung bei der y-Achse fehlt. Wie bekomme ich die da hin?

    Weiterhin ist der erste Plot (links oben) höher als der Plot rechts daneben. Wenn ich den Plotbereich der y-Achse im linken Plot auf 0.4 erweitere, dann sind sie ungefähr gleich groß. Warum wird die vorgegebene Höhe (3cm) nicht eingehalten?

    Gibt es eine Möglichkeit, außer mit \rput einen Titel für die Plots zu bestimmen?

    Kann man Anfang und Ende der x-Achsenwerte direct aus den eingelesenen Daten bekommen, so dass man Ox nicht manuell setzen muss?

    Vielen Dank für Eure Mühe.

    Hier ist nun das "Minimalbeispiel" (die Daten fürs plotten hängen als Attachment dran):
    Code:
    \documentclass[a4paper,12pt,headings=normal]{scrbook}
    
    \usepackage{pstricks-add}
    \usepackage{subfigure}
    
    \begin{document}
    
    \begin{figure}[ht]
    	\centering
    	\footnotesize
    	\readdata{\dataMag}{mag.txt}%
    	\readdata{\dataPha}{pha.txt}%
    	\readdata{\dataRe}{re.txt}%
    	\readdata{\dataIm}{im.txt}%
    	%\pstScalePoints(1,1){8 sub}{}
    	\psset{llx=-0.5cm,lly=-1cm, xAxisLabel={Frequenz / GHz}, xAxisLabelPos={c,-0.9cm}}
    	\subfigure 
    	{
    		\psset{yAxisLabel={$|\mathrm{S}|$}, yAxisLabelPos={-0.5in,c}}
    		\psline[linecolor=red,linewidth=1.0pt](4.5,3.9)(5.5,3.9)
    		\rput(6.0,3.9){Set 1}
    		\psline[linecolor=blue,linestyle=dashed,linewidth=1.0pt](4.5,3.5)(5.5,3.5)
    		\rput(6.0,3.5){Set 2}
    		\psgraph[axesstyle=frame,Dx=0.5,Dy=0.1,Ox=8,Oy=0,subticks=1](8,0)(10,0.3){6cm}{3cm}%
    			\listplot[linecolor=red,linewidth=1.0pt,plotNo=1,plotNoMax=2]{\dataMag}
    			\listplot[linecolor=blue,linestyle=dashed,linewidth=1.0pt,plotNo=2,plotNoMax=2]{\dataMag}
    		\endpsgraph
    	}
    	\hfill
    	\subfigure 
    	{
    		\psset{yAxisLabel={$\arg(\mathrm{S})$ / degree}, yAxisLabelPos={-0.5in,c}}
    		\psgraph[axesstyle=frame,Dx=0.5,Dy=50,Ox=8,Oy=-100,subticks=1](8,-100)(10,100){6cm}{3cm}%
    			\listplot[linecolor=red,linewidth=1.0pt,plotNo=1,plotNoMax=2]{\dataPha}
    			\listplot[linecolor=blue,linestyle=dashed,linewidth=1.0pt,plotNo=2,plotNoMax=2]{\dataPha}
    		\endpsgraph
    	}
    	\subfigure 
    	{
    		\psset{yAxisLabel={$\Re(\mathrm{S})$}, yAxisLabelPos={-0.5in,c}}
    		\psgraph[axesstyle=frame,Dx=0.5,Dy=0.1,Ox=8,Oy=-0.1,subticks=1](8,-0.1)(10,0.3){6cm}{3cm}%
    			\listplot[linecolor=red,linewidth=1.0pt,plotNo=1,plotNoMax=2]{\dataRe}
    			\listplot[linecolor=blue,linestyle=dashed,linewidth=1.0pt,plotNo=2,plotNoMax=2]{\dataRe}
    		\endpsgraph
    	}
    	\hfill
    	\subfigure
    	{
    		\psset{yAxisLabel={$\Im(\mathrm{S})$}, yAxisLabelPos={-0.5in,c}}
    		\psgraph[axesstyle=frame,Dx=0.5,Dy=0.1,Ox=8,Oy=-0.1,subticks=1](8,-0.1)(10,0.3){6cm}{3cm}%
    			\listplot[linecolor=red,linewidth=1.0pt,plotNo=1,plotNoMax=2]{\dataIm}
    			\listplot[linecolor=blue,linestyle=dashed,linewidth=1.0pt,plotNo=2,plotNoMax=2]{\dataIm}
    		\endpsgraph
    	}
     \caption{Beispiel}
    \end{figure}
    
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    Ist das tatsächlich unmöglich oder vielleicht ein Bug im pstricks-Package?

  3. #3
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Änderungen

    Zitat Zitat von Elgerton Beitrag anzeigen
    […] Gibt es eine Möglichkeit, außer mit \rput einen Titel für die Plots zu bestimmen? […]
    Dafür ist ja gerade subfigure gedacht. Du solltest allerdings besser subfig oder (noch besser) subcaption aus caption benutzen. Mit subfig wären jedoch nicht so viel Änderungen nötig.
    Code:
    \begin{figure}[!ht]
      \centering
      \subfloat[Beschreibung\label{subfig-1:beispiel}]{%
        % Inhalt
      }
      \subfloat[Beschreibung\label{subfig-2:beispiel}]{%
        % Inhalt
      }
      \caption{fig:beispiel}\label{fig:beispiel}
    \end{figure}
    Du müsstest also nur \subfigure durch \subfloat ersetzen und die Beschreibung als optionales Argument hinzufügen.


    MfG
    Thorsten¹
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    @localghost: Danke für die Antwort. Das mit der Beschriftung der subfigures ist ein Weg, aber leider wird dadurch der Text unterhalb der Plots gesetzt. Was ich meinte sind Titel für die Plots, die oberhhalb der Plots lokalisiert sind. Gibt es dafür etwas?

  5. #5
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Anderes Paket nehmen

    Mit subcaption kannst Du die Beschreibungen (glaube ich) auch über die Bilder setzen. Da musst Du allerdings mal selbst in der Anleitung suchen. Die findest Du entweder unter dem Eintrag von caption auf CTAN oder auf deinem Rechner über die Eingabeaufforderung (sofern das Paket installiert ist).
    Code:
    texdoc subcaption
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  6. #6
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Elgerton Beitrag anzeigen
    Wenn ihr das unten angehängte Beispiel ausführt, dann werdet Ihr sehen, dass bei fast allen Plots die oberste Beschriftung bei der y-Achse fehlt. Wie bekomme ich die da hin?

    Weiterhin ist der erste Plot (links oben) höher als der Plot rechts daneben. Wenn ich den Plotbereich der y-Achse im linken Plot auf 0.4 erweitere, dann sind sie ungefähr gleich groß. Warum wird die vorgegebene Höhe (3cm) nicht eingehalten?
    da ist irgendwas faul. Sehe es mir morgen genauer an.

    http://voss.homedns.org/PSTricks/pst...dd/index.phtml
    dort gibt es eine neue Version mit einer korrigierten Division für die Berechnung
    des Maßstabes.

    Selbiges ist dann auch heute oder morgen über CTAN möglich.

    Herbert

  7. #7
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Elgerton Beitrag anzeigen
    Ist das tatsächlich unmöglich oder vielleicht ein Bug im pstricks-Package?
    siehe oben den Link

    Herbert

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    Ja super! Jetzt stimmts! Zumindest die Höhe Die oberste Beschriftung der y-Achse ist allerdings noch nicht immer da.

    Hat jemand eventuell noch Anmerkungen zur automatischen Bestimmung der x-Achsenwerte aus denen mit \readdata eingelesen Datenwerte?
    Geändert von Elgerton (03-03-2009 um 13:54 Uhr)

  9. #9
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Elgerton Beitrag anzeigen
    Ja super! Jetzt stimmts! Zumindest die Höhe Die oberste Beschriftung der y-Achse ist allerdings noch nicht immer da.

    Hat jemand eventuell noch Anmerkungen zur automatischen Bestimmung der x-Achsenwerte aus denen mit \readdata eingelesen Datenwerte?
    das geht prinzipiell nicht, da die Achsenbeschriftungen auf TeX- und
    die Kurven auf PostScript-Ebene erstellt werden! TeX weiß nichts von
    dem, was auf der PS-Ebene mal erfolgt.

    Die oberste y-Achsenmarkierung fehlt standardmäßig, wenn dort ein Tick
    erscheint. Du kannst einfach (10,0.301) als Koordinatenpaar nehmen, dann
    gibt es den Wert, ohne dass man einen Unterschied sieht.

    Herbert

  10. #10
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    Danke. Das mit dem kleinen Offset funktioniert!

  11. #11
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von localghost Beitrag anzeigen
    Du solltest allerdings besser subfig oder (noch besser) subcaption aus caption benutzen. Mit subfig wären jedoch nicht so viel Änderungen nötig.
    Jein, auch das subcaption-Paket kennt den Befehl \subfloat. Da er jedoch bzgl. Abstände und einigen anderen Kleinigkeiten nicht 100% kompatibel zu dem \subfloat aus dem subfig-Paket ist, habe ich bisher von einer Dokumentation abgesehen.

    Liebe Grüße,
    Axel

  12. #12
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Na sowas

    Zitat Zitat von sommerfee Beitrag anzeigen
    Jein, auch das subcaption-Paket kennt den Befehl \subfloat. Da er jedoch bzgl. Abstände und einigen anderen Kleinigkeiten nicht 100% kompatibel zu dem \subfloat aus dem subfig-Paket ist, habe ich bisher von einer Dokumentation abgesehen. […]
    An dieser Stelle muss ich dir mal attestieren, dass Du immer für Überraschungen gut bist. Auch wenn das hier noch nicht ganz ausgereift ist. Ich habe da auch noch eine Idee für caption, aber das schreibe ich dir auf anderem Weg.
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  13. #13
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    Hilfe...
    Nach dem neuesten Update von pstricks-add bekomme ich nun einen
    "! Arithmetic overflow." Feher!

    Der war nach dem Update vom 3.3. nicht da.
    Herbert, kannst Du mal danach schauen? Danke!

  14. #14
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Elgerton Beitrag anzeigen
    Hilfe...
    Nach dem neuesten Update von pstricks-add bekomme ich nun einen
    "! Arithmetic overflow." Feher!

    Der war nach dem Update vom 3.3. nicht da.
    Herbert, kannst Du mal danach schauen? Danke!
    mit welchem Beispiel?

    Herbert

  15. #15
    Registrierter Benutzer
    Registriert seit
    26.02.2009
    Beiträge
    9
    Zitat Zitat von voss Beitrag anzeigen
    mit welchem Beispiel?
    Dasselbe, was ganz oben angegeben ist.

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •