Hallo zusammen, ich versuche in einem Diagramm Daten aus einer Simulation darzustellen, wobei ich gerne 2 x-Achsen verwenden möchte. Aktuell habe ich nur eine der beiden Achsen darbestellt: Die Geschwindigkeit des Förderbandes Open in Online-Editor
\documentclass{standalone} \usepackage{pgfplots} \usepackage{pgfplotstable} \usepackage{pgfplots} \usepgfplotslibrary{units} \usepackage{pgf} \usepackage{tikz} \begin{document} \centering \begin{tikzpicture} \begin{axis}[ width=\textwidth, height=8cm, xmin=0, xmax=80, ymin=1800, ymax=2800, xlabel=Bandgeschwindigkeit / Meter pro Minute, ylabel=Tagesoutput / Stk.] %\addplot table [y=FiltermengeX1, x=Bandgeschwindigkeit]{./Experimente/EXP3.dat}; %\addplot table [y=FiltermengeX2, x=Bandgeschwindigkeit]{./Experimente/EXP3.dat}; \begin{scope} \draw[]({axis cs:20,0}|-current axis.south) -- ({axis cs:20,0}|-current axis.north) node [midway, above left, sloped, xshift=0.5cm] (TextNode) {max. Geschwindigkeit}; \end{scope} \fill[gray,fill opacity=0.25] (axis cs:0,0) rectangle (axis cs:20,2800); %\addlegendentry{Filtermenge / Tag} \end{axis} \end{tikzpicture} \end{document} Nun möchte ich als zweite x-Achse den Zeitindex in [Minuten pro Meter] darstellen. Die Bandgeschwindigkeit und der Zeitindex hängen direkt voneinander ab: Als Länge des Trägers wird mit 0.24 m gearbeitet. Wie schaffe ich es die zweite Achse richtig darzustellen? Das ganze entspricht einer x zu 1/x Beziehung der beiden x-Achsen. Die dargestellten Daten: Open in Online-Editor
Zeitindex Bandgeschwindigkeit FiltermengeX1 FiltermengeX2 0.001 240.00 2656 2668.5 0.002 120.00 2661 2665 0.003 80.00 2638 2658 0.004 60.00 2660 2667 0.005 48.00 2650 2671.5 0.006 40.00 2670 2672 0.007 34.29 2657 2654 0.008 30.00 2642 2641.5 0.009 26.67 2503 2509.5 0.01 24.00 2376 2386 0.011 21.82 2516 2544.5 0.012 20.00 2628 2628.5 0.013 18.46 2563 2568.5 0.014 17.14 2438 2443.5 0.015 16.00 2540 2545 0.016 15.00 2551 2545.5 0.017 14.12 2461 2465.5 0.018 13.33 2430 2437.5 0.019 12.63 2367 2386.5 0.02 12.00 2358 2368 0.021 11.43 2329 2329.5 0.022 10.91 2374 2373.5 0.023 10.43 2336 2339 0.024 10.00 2273 2277 0.025 9.60 2287 2288.5 0.026 9.23 2306 2301.5 0.027 8.89 2226 2231.5 0.028 8.57 2233 2224.5 0.029 8.28 2201 2198.5 0.03 8.00 2209 2214.5 0.031 7.74 2202 2185 0.032 7.50 2162 2149.5 0.033 7.27 2103 2114.5 0.034 7.06 2113 2113.5 0.035 6.86 2130 2139.5 0.036 6.67 2116 2110.5 0.037 6.49 2065 2075 0.038 6.32 2076 2072.5 0.039 6.15 2041 2042 0.04 6.00 2033 2034 mein aktuelles Diagramm: Danke im Voraus für eure Hilfe! Schöne Grüße Robert Egger gefragt 07 Mär '16, 11:46 egga72 |
Da Du eine Formel für die Beziehung zwischen beiden Achsen hast, kannst Du die der zweiten aus der ersten ausrechnen lassen. Auf Grund des Zusammenhangs zwischen beiden ist die zweite dann nicht linear eingeteilt. Open in Online-Editor
xtickmin=1,% Verhindern, dass durch 0 dividiert wird xticklabel={% Berechnen der Tickbeschriftungen \pgfmathparse{0.24/\tick}% \tick enthält aktuellen Tickwert \pgfmathprintnumber[fixed,precision=4]{\pgfmathresult}% }, Code: Open in Online-Editor
\begin{filecontents*}{exp3.dat} Zeitindex Bandgeschwindigkeit FiltermengeX1 FiltermengeX2 0.001 240.00 2656 2668.5 0.002 120.00 2661 2665 0.003 80.00 2638 2658 0.004 60.00 2660 2667 0.005 48.00 2650 2671.5 0.006 40.00 2670 2672 0.007 34.29 2657 2654 0.008 30.00 2642 2641.5 0.009 26.67 2503 2509.5 0.01 24.00 2376 2386 0.011 21.82 2516 2544.5 0.012 20.00 2628 2628.5 0.013 18.46 2563 2568.5 0.014 17.14 2438 2443.5 0.015 16.00 2540 2545 0.016 15.00 2551 2545.5 0.017 14.12 2461 2465.5 0.018 13.33 2430 2437.5 0.019 12.63 2367 2386.5 0.02 12.00 2358 2368 0.021 11.43 2329 2329.5 0.022 10.91 2374 2373.5 0.023 10.43 2336 2339 0.024 10.00 2273 2277 0.025 9.60 2287 2288.5 0.026 9.23 2306 2301.5 0.027 8.89 2226 2231.5 0.028 8.57 2233 2224.5 0.029 8.28 2201 2198.5 0.03 8.00 2209 2214.5 0.031 7.74 2202 2185 0.032 7.50 2162 2149.5 0.033 7.27 2103 2114.5 0.034 7.06 2113 2113.5 0.035 6.86 2130 2139.5 0.036 6.67 2116 2110.5 0.037 6.49 2065 2075 0.038 6.32 2076 2072.5 0.039 6.15 2041 2042 0.04 6.00 2033 2034 \end{filecontents*} \documentclass{standalone} \usepackage{pgfplots} \usepackage{pgfplotstable} \pgfplotsset{compat=1.12}% aktuell wäre 1.13, aber der Online-Editor hat nur 1.12 \begin{document} \centering \begin{tikzpicture} \pgfplotsset{ myaxis/.style={ width=\textwidth, height=8cm, xmin=0, xmax=80, ymin=1800, ymax=2800, } } \begin{axis}[ myaxis, axis x line*=bottom, xlabel=Bandgeschwindigkeit / Meter pro Minute, ylabel=Tagesoutput / Stk.] \addplot table [y=FiltermengeX1, x=Bandgeschwindigkeit]{exp3.dat}; \addplot table [y=FiltermengeX2, x=Bandgeschwindigkeit]{exp3.dat}; \begin{scope} \draw(20,0|-current axis.south) -- (20,0|-current axis.north) node [midway, above left, sloped, xshift=0.5cm] (TextNode) {max. Geschwindigkeit}; \end{scope} \fill[gray,fill opacity=0.25] (0,0) rectangle (20,2800); %\addlegendentry{Filtermenge / Tag} \end{axis} \begin{axis}[ myaxis, hide y axis, axis x line*=top, xtickmin=1,% Verhindern, dass durch 0 dividiert wird xticklabel={% Berechnen der Tickbeschriftungen \pgfmathparse{0.24/\tick}% \tick enthält aktuellen Tickwert \pgfmathprintnumber[fixed,precision=4]{\pgfmathresult}% }, xlabel=Zeitindex / Minuten ] \end{axis} \end{tikzpicture} \end{document} beantwortet 08 Mär '16, 16:58 esdd Perfekt! Vielen vielen Dank für die rasche Hilfe!
(08 Mär '16, 17:26)
egga72
|
Willkommen auf TeXwelt!