goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

PDF und CDF Plots Probleme

 

Stas
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2017, 00:11     Titel: PDF und CDF Plots Probleme
  Antworten mit Zitat      
Hallo

Ich fange an jetzt meine Bachelorarbeit zu schreiben und würde diese mit Latex schreiben. Allerdings habe ich Probleme mit der Darstellung von CDF und PDF Plots. Ich hätte gerne, dass diese wie folgt aussehen:



Die Datenreihen aus .txt-Datei sind meist nur 1/2 Spalte sortiert und wie folgt:
Code • Öffne in Overleaf

RSRP   ggf.%Spalte
-140   0,083333
-139   0,166666
-136   0,25
-130   0,3333
-121   0,41666
-102   0,5
-101   0,58333
-100   0,6666
-100   0,75
-100   0,83333
-60   0,91666
-45   1

Es wäre auch kein Problem eine Y Spalte hinzuzufügen mit %-ten Anteil falls es nicht möglich ist in Latex PDF und CDF Plots direkt zu erstellen.
Dabei sollte es möglich sein mehrere Datenreihen in 1 Diagramm zu plotten.
Ansätze bis jetzt zeigen wenig Erfolg :/
xmin = - 140
xmax = -30
ymin = 0
ymax = 1
ytick distance=0,1
zwei Mal \begin{axis} mit axis y line*=right, und einmal ohne für CDF und PDF in einen Plot
\addplot[color = red] table {text.txt};

Ich hoffe Ihr könnt mir helfen. Die Plots in Latex sehen so viel besser aus als in Excel, wenn man es schafft Smile

Bartman
Forum-Meister
Forum-Meister


Beiträge: 712
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 04.03.2017, 01:44     Titel: Re: PDF und CDF Plots Probleme
  Antworten mit Zitat      


Stas hat Folgendes geschrieben:
Ansätze bis jetzt zeigen wenig Erfolg


Dann zeige den Lesern Deines Threads wenigstens ein Beispiel Deiner Ansätze.

pdfcdfplot.png
 Beschreibung:

Download
 Dateiname:  pdfcdfplot.png
 Dateigröße:  637.06 KB
 Heruntergeladen:  15 mal
Private Nachricht senden Benutzer-Profile anzeigen

Stas
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2017, 05:46     Titel: PDF und CDF Plots Probleme
  Antworten mit Zitat      
Hay,

es ist wohl nicht möglich ein CDF und PDF plot direkt zu erstellen :/ Würde aber jetzt trotzdem gerne es so aussehen lassen wie im Beispiel darüber. Was noch nicht stimmt ist:

- Achsenbeschriftung nicht oben und falsch gedreht
- Legende mit schrift und d. Bild unten links
- die x Achsenbeschriftung ist Mitte im labelbeschriftung
- pfeil oben rechts auf der Achse
- überstehende ticks :/


Code • Öffne in Overleaf

\documentclass[paper=a4,12pt,version=last,landscape]{scrartcl}
 
\usepackage{pgfplots}
 
\begin{document}
\centering
   \begin{tikzpicture}      
      \begin{axis}[
      axis y line=right,
      ymin=0, ymax=1, ytick distance=0.1,
      xminorgrids=true, ymajorgrids=true,
      minor x tick num=1,
      bar width=20pt,
      ybar,
      %Anpassen
      width=0.8\textwidth,
      height=0.3\textwidth,
      xmin=-135,
      xmax=-45,
      xtick distance=10,
      xlabel={RSRP [dBm]},
      ylabel={CDF},
      xticklabels={,
         $<=-130$,
         $>-130$ bis $<=-120$,
         $>-120$ bis $<=-110$,
         $>-110$ bis $<=-100$,
         $>-100$ bis $<=-90$,
         $>-90$ bis $<=-80$,
         $>-80$ bis $<=-70$,
         $>-70$ bis $<=-60$,
         $>-60$ bis $<=-50$,
     
},
      x tick label style={rotate=-30, anchor=west, align=left},
      ]
     
      \addplot +[color=black!30] table[x=Upper, y=prPF] {test.txt};
     
      \end{axis}
     
   
   \begin{axis}[
   width=0.8\textwidth,
   height=0.3\textwidth,
   ymin=0,
   ymax=1,
   ytick distance=0.1,
   xmin=-135,
   xmax=-45,
   xtick distance=10,
   ylabel={PDF},
   xticklabels={},
   
]        
   
   \addplot +[mark=x,mark options={scale=2,solid}, color=black
] table[x=Upper, y=prCF] {test.txt};        
   
   \end{axis}
     
   \end{tikzpicture}
\end{document}
 


Code • Öffne in Overleaf

Upper   CF   prCF   PF   prPF
-130   9   0.000329441   9   0.000329441
-120   178   0.006515612   169   0.006186171
-110   1735   0.063508913   1557   0.056993301
-100   7007   0.256488158   5272   0.192979245
-90   14772   0.540722574   7777   0.28467367
-80   20934   0.766279878   6171   0.225886745
-70   25259   0.924594604   4337   0.158753981
-60   26990   0.987957099   1731   0.063362495
-50   27319   1   329   0.012042901
-40   27319   1   0   0
-30   27319   1   0   0
 




stasCdfplot.png
 Beschreibung:

Download
 Dateiname:  stasCdfplot.png
 Dateigröße:  42.94 KB
 Heruntergeladen:  10 mal

Bartman
Forum-Meister
Forum-Meister


Beiträge: 712
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 04.03.2017, 12:34     Titel:
  Antworten mit Zitat      
Mein Beispiel ist keine Lösung, es enthält lediglich ein paar Anpassungen:

Code • Öffne in Overleaf
\begin{filecontents}{test.txt}
Upper CF prCF PF prPF
-130 9 0.000329441 9 0.000329441
-120 178 0.006515612 169 0.006186171
-110 1735 0.063508913 1557 0.056993301
-100 7007 0.256488158 5272 0.192979245
-90 14772 0.540722574 7777 0.28467367
-80 20934 0.766279878 6171 0.225886745
-70 25259 0.924594604 4337 0.158753981
-60 26990 0.987957099 1731 0.063362495
-50 27319 1 329 0.012042901
-40 27319 1 0 0
-30 27319 1 0 0
\end{filecontents}

\documentclass[border=5pt]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.14}

\usepgfplotslibrary{units}
 
\begin{document}
   \begin{tikzpicture}      
      \begin{axis}[
      scale only axis,
      axis y line=right,
      ymin=0, ymax=1, ytick distance=0.1,
      xminorgrids=true, ymajorgrids=true,
%      grid style={dashed},
      minor x tick num=1,
      bar width=20pt,
      ybar,
      %Anpassen
      width=0.8\textwidth,
      height=0.3\textwidth,
      xmin=-135,
      xmax=-45,
      xtick distance=10,
      x unit=dBm,
      xlabel={RSRP},
      ylabel={CDF},
      xticklabels={
         $\le -130$,
         $>-130$ bis $\le -120$,
         $>-120$ bis $\le -110$,
         $>-110$ bis $\le -100$,
         $>-100$ bis $\le -90$,
         $>-90$ bis $\le -80$,
         $>-80$ bis $\le -70$,
         $>-70$ bis $\le -60$,
         $>-60$ bis $\le -50$,
     
},
      x tick label style={rotate=-30, anchor=west, align=left},
      ]
      \addplot +[color=black!30] table[x=Upper, y=prPF] {test.txt};
      \end{axis}

   \begin{axis}[
   width=0.8\textwidth,
   height=0.3\textwidth,
   scale only axis,
   axis y line=left,
   axis x line=none,
   ymin=0,
   ymax=1,
   ytick distance=0.1,
   xmin=-135,
   xmax=-45,
   xtick distance=10,
   ylabel={PDF}
   
]
   \addplot +[mark=x,mark options={scale=2,solid}, color=black] table[x=Upper, y=prCF] {test.txt};        
   \end{axis}
   \end{tikzpicture}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Johannes_B
Moderator
Moderator


Beiträge: 4704
Anmeldedatum: 01.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2017, 15:27     Titel:
  Antworten mit Zitat      
Es wäre übrigens super, wenn du Bilder ordentlich hochladen würdest.
_________________

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
Private Nachricht senden Benutzer-Profile anzeigen

Stas
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2017, 18:45     Titel: PDF und CDF Plots Probleme
  Antworten mit Zitat      
Hay und danke soweit Smile Ich bin schon zu folgenden Ergebnis gekommen.



Code • Öffne in Overleaf

\documentclass[]{scrreprt}

\usepackage{pgfplots}
\usepgfplotslibrary{units}
\pgfplotsset{
   compat=newest,
   scale only axis,
   width=0.8\textwidth,
   height=0.3\textwidth,
   major tick length = 0,
   minor tick length = 0,
   minor x tick num=1,
         
}

\begin{document}

\begin{tikzpicture}
   \begin{axis}[
    axis y line*=left,
    xticklabels={},
   xminorgrids=true, ymajorgrids=true,
   grid style={dashed
},
   ymin=0, ymax=1, ytick distance=0.1,
   ylabel={PDF},
   y label style={rotate=-90, at={(0,1.05)}, anchor=south east},
   bar width=20pt,
   ybar,
   legend entries={PDF},
   legend style={at={(0,-0.3)},anchor=north west},
   %
   %Zu Anpassen
   xmin=-135, xmax=-45, xtick distance=10,
   ]
   
   \addplot +[color=black!30] table[x=x, y=y2,/pgf/number format/read comma as period] {m1/m1rsrp.txt};

   \end{axis}
   \begin{axis}[
   axis x line*=box,
   axis y line*=right,
   ymin=0, ymax=1, ytick distance=0.1,
   ylabel={CDF},
   y label style={rotate=-90, at={(1,1.05)}, anchor=south west},
   legend entries={CDF},
   legend style={at={(0,-0.45)},anchor=north west},
   %
   %Zu Anpassen
   xmin=-135, xmax=-45, xtick distance=10,
    xticklabels={,
   $\le -130$,
   $>-130$ bis $\le -120$,
   $>-120$ bis $\le -110$,
   $>-110$ bis $\le -100$,
   $>-100$ bis $\le -90$,
   $>-90$ bis $\le -80$,
   $>-80$ bis $\le -70$,
   $>-70$ bis $\le -60$,
   $>-60$ bis $\le -50$,
   
},
   x tick label style={rotate=-30, anchor=north west,},
         x unit=dBm,
   xlabel={RSRP},
   ]

   \addplot +[color=black,mark=star,mark options={scale=2,solid}] table[x=x, y=y1,/pgf/number format/read comma as period] {m1/m1rsrp.txt};

   \end{axis}
   
\end{tikzpicture}


\end{document}          

 


Das mit \le lässt es besser als Orginal aussehen Smile

Was mich noch stört ist das die Legendeneinträge nicht gleich groß sind v. Bild her.
Und die Grids überschneiden sich nicht immer korrekt.

Code • Öffne in Overleaf

x   cdf   y1   pdf   y2
-140   0   0   0   0
-130   13   0,000947798   13   0,000947798
-120   437   0,031860601   424   0,030912803
-110   2261   0,164843978   1824   0,132983377
-100   5843   0,425998833   3582   0,261154856
-90   9872   0,719743365   4029   0,293744532
-80   12516   0,912510936   2644   0,192767571
-70   13570   0,989355497   1054   0,076844561
-60   13716   1   146   0,010644503
-50   13716   1   0   0
-40   13716   1   0   0
-30   13716   1   0   0
 

esdd
Forum-Meister
Forum-Meister

Beiträge: 2038
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 05.03.2017, 02:51     Titel:
  Antworten mit Zitat      
Du kannst die Plots jeweils mit `\label` versehen und am Ende eine gemeinsame Legende einfügen:

Code • Öffne in Overleaf
\begin{filecontents}{test.txt}
x   cdf   y1   pdf   y2
-140   0   0   0   0
-130   13   0,000947798   13   0,000947798
-120   437   0,031860601   424   0,030912803
-110   2261   0,164843978   1824   0,132983377
-100   5843   0,425998833   3582   0,261154856
-90   9872   0,719743365   4029   0,293744532
-80   12516   0,912510936   2644   0,192767571
-70   13570   0,989355497   1054   0,076844561
-60   13716   1   146   0,010644503
-50   13716   1   0   0
-40   13716   1   0   0
-30   13716   1   0   0
\end{filecontents}

\documentclass[]{scrreprt}

\usepackage{pgfplots}
\usepgfplotslibrary{units}
\pgfplotsset{
    compat=newest,
    scale only axis,
    width=0.8\textwidth,
    height=0.3\textwidth,
    major tick length = 0,
    minor tick length = 0,
    minor x tick num=1,
         
}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
     axis y line*=left,
     xticklabels={},
    xminorgrids=true, ymajorgrids=true,
    grid style={dashed
},
    ymin=0, ymax=1, ytick distance=0.1,
    ylabel={PDF},
    y label style={rotate=-90, at={(0,1.05)}, anchor=south east},
    bar width=20pt,
    ybar,
    %legend entries={PDF}, % auskommentiert
    %legend style={at={(0,-0.3)},anchor=north west},
    %
    %Zu Anpassen
    xmin=-135, xmax=-45, xtick distance=10,
    ]
     
    \addplot +[color=black!30] table[x=x, y=y2,/pgf/number format/read comma as period] {test.txt};
    \label{pgfplots:PDF}% hinzugefügt
    \end{axis}
    \begin{axis}[
    axis x line*=box,
    axis y line*=right,
    ymin=0, ymax=1, ytick distance=0.1,
    ylabel={CDF},
    y label style={rotate=-90, at={(1,1.05)}, anchor=south west},
    %legend entries={CDF}, % auskommentiert
    %legend style={at={(0,-0.45)},anchor=north west},
    %
    %Zu Anpassen
    xmin=-135, xmax=-45, xtick distance=10,
     xticklabels={,
    $\le -130$,
    $>-130$ bis $\le -120$,
    $>-120$ bis $\le -110$,
    $>-110$ bis $\le -100$,
    $>-100$ bis $\le -90$,
    $>-90$ bis $\le -80$,
    $>-80$ bis $\le -70$,
    $>-70$ bis $\le -60$,
    $>-60$ bis $\le -50$,
   
},
    x tick label style={rotate=-30, anchor=north west,},
          x unit=dBm,
    xlabel={RSRP},
    ]
    \addplot +[color=black,mark=star,mark options={scale=2,solid}] table[x=x, y=y1,/pgf/number format/read comma as period] {test.txt};
    \label{pgfplots:CDF}% hinzugefügt
    \end{axis}
    \matrix% hinzugefügt
      [/pgfplots/every axis legend,at={(0,0|-current bounding box.south)},anchor=south west]
      {\node{\ref{pgfplots:PDF}}; & \node{PDF}; \\
      \node{\ref{pgfplots:CDF}}; & \node{CDF}; \\};
\end{tikzpicture}

\end{document}


Wegen der Referenzen muss man das zwei Mal laufen lassen, damit die Legendenbilder korrekt angezeigt werden.

Was Du mit "Und die Grids überschneiden sich nicht immer korrekt. " meinst, ist mir nicht klar. Wenn Du möchtest, dass sich sich an den Kreuzungspunktenn jeweils Striche der Strichlinien befinden, dann musst Du die Gitterlinien in x- bzw. y-Richtung mit dash pattern und dash phase anpassen. Das dürfte aber mühselig werden.
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de