pgfplots - Zusätzliche Markierung auf der x-Achse definieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: pgfplots - Zusätzliche Markierung auf der x-Achse definieren

von esdd » Fr 11. Sep 2015, 19:49

Alternativ kannst Du die Daten auch in eine Datei schreiben und anschließend laden.
\begin{filecontents*}{Daten1.dat}
x       y 
0.400   18.096 
0.400   18.401 
0.400   17.767 
0.400   16.992 
0.400   16.399 
0.397   15.908 
0.392   15.440 
0.387   14.533 
0.382   13.258 
0.377   11.939 
\end{filecontents*}

\documentclass{article} 
\usepackage{pgfplots} 
\pgfplotsset{% 
     ,compat=1.12 
     ,every axis legend/.append style={% 
         ,at={(0.03,0.97)} 
         ,anchor=north west} 
         } 
\usepackage{pgfplotstable} 

\begin{document}
\begin{tikzpicture}
     \begin{axis}[% 
         ,width=10cm,height=10cm 
         ,x tick label style={/pgf/number format/1000 sep=} 
         ,xmin=0,xmax=0.6 
         ,ymin=0,ymax=22 
         ,xlabel=Weg/mm, 
         ,ylabel=Kraft/N,
         ,extra x ticks={\nullstelle}
         ,extra x tick style={ticklabel style={yshift=-1em,red}}
         ]
        \pgfplotstableread{Daten1.dat}\daten 
        \pgfplotstablecreatecol[linear regression]{regression}{\daten} 
        \pgfmathsetmacro\nullstelle{-1 * \pgfplotstableregressionb/\pgfplotstableregressiona}
         \addplot+[% 
             ,only marks 
             ]table {\daten}; 
         \addlegendentry{Kraft-Weg-Kurve} 
         \addplot [draw,domain=0.25:0.5] (x,\pgfplotstableregressiona*x+\pgfplotstableregressionb); 
                 \addlegendentry{Regression %
          {$\pgfmathprintnumber[precision=4, fixed zerofill]{\pgfplotstableregressiona} %
            \cdot \mathrm{t} \pgfmathprintnumber[precision=4, fixed zerofill]{\pgfplotstableregressionb}$}} 
     \end{axis} 
\end{tikzpicture}
\end{document}
Ich habe die Beschriftung des zusätzlichen Ticks noch etwas nach unten verschoben, damit sie nicht die schon vorhandenen überlappt.

von simande » Fr 11. Sep 2015, 19:19

Hier ist eine gut funktionierende Lösung: http://latex-community.org/forum/viewto ... 610#p91609

von Gast » Fr 11. Sep 2015, 18:07

von cgnieder » Fr 11. Sep 2015, 18:05

pgfplots - Zusätzliche Markierung auf der x-Achse definieren

von simande » Fr 11. Sep 2015, 17:36

Servus zusammen,

ich habe eine lineare Regression erstellt und würde nun gerne die Nullstelle markieren lassen. Ich könnte das Ganze natürlich ausrechnen und dann mit
extra x ticks={x1}
erstellen. Ich würde das aber gerne mit den Befehlen
pgfplotstableregressiona
und
pgfplotstableregressionb
erstellen. Ich muss nämlich ziemlich viele solcher Graphen erstellen und würde gerne einfach nur ein paar .txt Dateien einbinden und den Rest dann Tex erledigen lassen.
Kann mir da von euch vielleicht jemand helfen?

Schon mal vielen Dank,

Simande
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{%
    ,compat=1.12
    ,every axis legend/.append style={%
        ,at={(0.03,0.97)}
        ,anchor=north west}
        }
\usepackage{pgfplotstable}

\begin{document} 
\begin{tikzpicture}
    \begin{axis}[%
        ,width=10cm,height=10cm
        ,x tick label style={/pgf/number format/1000 sep=}
        ,xmin=0,xmax=0.6
        ,ymin=0,ymax=22 
        ,xlabel=Weg/mm, 
        ,ylabel=Kraft/N,
        ]
        \addplot+[%
            ,fill = blue
            ,mark = *
            ,mark options={solid}
            ,only marks
            ] table {%
                x       y
                0.400   18.096
                0.400   18.401
                0.400   17.767
                0.400   16.992
                0.400   16.399
                0.397   15.908
                0.392   15.440
                0.387   14.533
                0.382   13.258
                0.377   11.939      
                };
        \addlegendentry{Kraft-Weg-Kurve}
        \addplot [] table [%
            ,y={create col/linear regression}] {%
                x       y
                0.400   18.096
                0.400   18.401
                0.400   17.767
                0.400   16.992
                0.400   16.399
                0.397   15.908
                0.392   15.440
                0.387   14.533
                0.382   13.258
                0.377   11.939
                };  
        \addplot [draw,domain=0.25:0.5] (x,\pgfplotstableregressiona*x+\pgfplotstableregressionb);
        \addlegendentry{Regression {$\pgfmathprintnumber[precision=4, fixed zerofill]{\pgfplotstableregressiona} \cdot \mathrm{t} \pgfmathprintnumber[precision=4, fixed zerofill]{\pgfplotstableregressionb}$}}  
    \end{axis}
\end{tikzpicture}   
\end{document}
Bild
Dateianhänge
simandeNullstelle.png
simandeNullstelle.png (22.76 KiB) 2647 mal betrachtet

Nach oben