Anzeige:
Ergebnis 1 bis 5 von 5

Thema: PSTricks: Mit \listplot zwei Plots in einem Diagramm transparent darstellen

  1. #1
    Registrierter Benutzer
    Registriert seit
    16.10.2011
    Beiträge
    3

    PSTricks: Mit \listplot zwei Plots in einem Diagramm transparent darstellen

    Hallo zusammen,

    ich habe in der Vergangenheit schon viele nützliche Tipps in diesem Forum gefunden. Leider habe ich heute ein Problem, bei dem ich nicht weiter komme. Deshalb richte ich die Frage mal an alle Experten hier und hoffe jemand hat Rat.

    Also, ich möchte gerne mit pstricks zwei Plots in einem Diagramm darstellen. Das klappt auch soweit, hier der tex-code:
    Code:
    \documentclass[a4paper,oneside,11pt]{article}
    
    \usepackage{pstricks}
    \usepackage{auto-pst-pdf}
    \usepackage{pst-all}
    
    \begin{document}
    \begin{figure}[h]
    	\centering
    	\psset{xunit=3mm,yunit=2.5cm}
    	\begin{pspicture}(0,-1)(42,1)
    		\psaxes[axesstyle=axes,Dx=5, Dy=0.5](0,0)(0,-1)(42,1)
    		\readdata{\data}{1.txt}
    		\listplot[linewidth=.1pt,linecolor=blue]{\data}
    		\readdata{\data}{2.txt}
    		\listplot[linewidth=.1pt,linecolor=green]{\data}
    	\end{pspicture}
    	
    \end{figure}
    \end{document}
    Mein Problem ist nun, dass die Plotkurven absolut opak sind, also nicht transparent. Dadurch wird an vielen Stellen die blaue Kurve von der grünen überdeckt, was nicht sehr schön aussieht. Gibt es eine Möglichkeit, die Kurven transparent zu gestalten, so dass auch bei Überlappungen beide Kurven sichtbar sind? Ich habe raus gefunden, dass man für pstricks auch selbst Farben definieren kann. Allerdings keine transparenten. Oder liege ich da falsch?

    Bin für jeden Rat dankbar!

    MfG
    Farley

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.10.2011
    Beiträge
    3
    Niemand eine Idee?

  3. #3
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Code:
    \documentclass[a4paper,oneside,11pt]{article}
    
    \usepackage{pstricks}
    \usepackage{pst-plot}
    \usepackage{pstricks-add}
    
    \begin{document}
    \begin{figure}[h]
    	\centering
    	\psset{xunit=3mm,yunit=2.5cm}
    	\begin{pspicture}(0,-1)(42,1)
    		\psaxes[axesstyle=axes,Dx=5, Dy=0.5](0,0)(0,-1)(42,1)
    		 \psset{,linewidth=4pt}
    		 \psplot[,linecolor=blue]{0}{42}{x 42 div}
    		 \psplot[,linecolor=green,strokeopacity=0.5]{0}{42}{x neg 42 div 1 add }
    
    %		\readdata{\data}{1.txt}
    %		\listplot[linewidth=.1pt,linecolor=blue]{\data}
    %		\readdata{\data}{2.txt}
    %		\listplot[linewidth=.1pt,linecolor=green]{\data}
    	\end{pspicture}
    	
    \end{figure}
    \end{document}
    Marco

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.10.2011
    Beiträge
    3
    Super, vielen Dank!!!

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.01.2012
    Beiträge
    2
    Hallo,
    ich hab ein ähnliches Problem. Ich möchte zwei Datensätze plotten, von denen der zweite transparent sein soll.
    Obiges Beispiel (mit \psplot) funktioniert bei mir, wenn ich das Ergebnis in pdf konvertiere (ps->pdf). Aber bei \listplot scheint "strokeopacity" gar nichts zu nützen.
    Code:
    \documentclass[12pt,a4paper]{article}
    \usepackage{pstricks}
    \usepackage{pst-plot}
    \usepackage{pstricks-add} 
    
    \begin{document}
    
    \readdata{\dataa}{Dataa.dat}
    \readdata{\datab}{Datab.dat}
    \psset{xunit=1cm, yunit=1cm}
    
    \begin{pspicture}(-0,-0)(12,5.5)
    \psaxes[Dx=0.01, dx=2.5cm, Dy = 0.1, dy=1.3cm, Ox=0.98, Oy=99.6, Dy=0.1]{->}(0,0)(12,5.5)
    \pstScalePoints(300,13){0.98 sub}{99.6 sub}
    
    \listplot[linewidth=1pt, linecolor=red,plotstyle=dots]{\dataa}
    \listplot[linewidth=1pt, linecolor=green,strokeopacity=0.5,
    	plotstyle=dots]{\datab}
    
    \end{pspicture}
    \end{document}
    Kann jemand helfen? Danke, k.

Stichworte

Lesezeichen

Berechtigungen

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