von Axel_S » Fr 9. Feb 2018, 08:09
Hallo,
ich habe den Code mal entsprechend vereinfacht und das Ergebniss aus dem python Export direkt in Tex eingefügt.
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{pgfplots}
\usepackage{wrapfig}
\usepackage[a4paper, total={6.5in, 9in}]{geometry}
%opening
\title{Titel}
\author{ich}
\begin{document}
\begin{figure}
\centering
% This file was created by matplotlib2tikz v0.6.14.
\begin{tikzpicture}
\begin{axis}[
xmin=0.95, xmax=2.05,
ymin=1.85, ymax=5.15,
tick align=outside,
tick pos=left,
xmajorgrids,
x grid style={white!69.019607843137251!black},
ymajorgrids,
y grid style={white!69.019607843137251!black},
legend style={at={(0.03,0.97)}, anchor=north west, draw=white!80.0!black},
legend cell align={left},
legend entries={{ref},{roh},{kal}}
]
\addlegendimage{no markers, black}
\path [draw=red, fill=red, opacity=0.2] (axis cs:1,3)
--(axis cs:1,2)
--(axis cs:2,2)
--(axis cs:2,3)
--(axis cs:2,3)
--(axis cs:1,3)
--cycle;
\path [draw=blue, fill=blue, opacity=0.2] (axis cs:1,5)
--(axis cs:1,4)
--(axis cs:2,4)
--(axis cs:2,5)
--(axis cs:2,5)
--(axis cs:1,5)
--cycle;
\addplot [semithick, black]
table {%
1 2
2 5
};
\end{axis}
\end{tikzpicture}
\caption{caption}
\label{G_KaliTemp}
\end{figure}
\end{document}
Hierzu noch der entsprechende Code aus Python:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.style.use('seaborn-colorblind')
from matplotlib2tikz import save as tikz_save
fig = plt.figure(figsize=(7,4))
ax = fig.add_subplot(111)
ax.fill_between([1, 2],[2, 2],[3, 3],color = 'red',alpha=0.2, label ='roh')
ax.fill_between([1, 2],[4, 4],[5, 5],color = 'blue',alpha=0.2, label ='kal')
ax.plot([1, 2],[2, 5],'k',label='ref')
ax.grid()
plt.legend()
#plt.show()
tikz_save('minimalbeispiel.pgf')
Das Bild aus python mit richtiger Legende ist wieder im Anhang zu finden.
Ich würde ja fast vermuten, dass es am Export matplotlib2tikz liegt, da Tex den Code ja darstellt und die Größenangaben im Tex-Code auch nicht erzeugt werden. Aber wenn sich damit schonmal jemand befasst hat dann sicherlich die TEXer =)
Viele Grüße,
Axel
Nachtrag: Ja, Zeiten werden nicht in °C angegeben. Aber wenn ich so etwas ausprobiere, ändere ich immer mal ein paar Kleinigkeiten (z.B. lösche ich auch mal einen Buchstaben oder tue sonst was anderes), um zu prüfen ob die Änderungen auch im Tex-pdf angekommen sind. Aber wenn ich das Problem der Legende gelöst habe, werde ich das sicherlich auch noch schaffen.
Nur Not kann ich na nochmal nach der richtigen SI Einheit der Zeit fragen
- Dateianhänge
-
- minimal_python.png (20.42 KiB) 3137 mal betrachtet
Hallo,
ich habe den Code mal entsprechend vereinfacht und das Ergebniss aus dem python Export direkt in Tex eingefügt.
[code]\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{pgfplots}
\usepackage{wrapfig}
\usepackage[a4paper, total={6.5in, 9in}]{geometry}
%opening
\title{Titel}
\author{ich}
\begin{document}
\begin{figure}
\centering
% This file was created by matplotlib2tikz v0.6.14.
\begin{tikzpicture}
\begin{axis}[
xmin=0.95, xmax=2.05,
ymin=1.85, ymax=5.15,
tick align=outside,
tick pos=left,
xmajorgrids,
x grid style={white!69.019607843137251!black},
ymajorgrids,
y grid style={white!69.019607843137251!black},
legend style={at={(0.03,0.97)}, anchor=north west, draw=white!80.0!black},
legend cell align={left},
legend entries={{ref},{roh},{kal}}
]
\addlegendimage{no markers, black}
\path [draw=red, fill=red, opacity=0.2] (axis cs:1,3)
--(axis cs:1,2)
--(axis cs:2,2)
--(axis cs:2,3)
--(axis cs:2,3)
--(axis cs:1,3)
--cycle;
\path [draw=blue, fill=blue, opacity=0.2] (axis cs:1,5)
--(axis cs:1,4)
--(axis cs:2,4)
--(axis cs:2,5)
--(axis cs:2,5)
--(axis cs:1,5)
--cycle;
\addplot [semithick, black]
table {%
1 2
2 5
};
\end{axis}
\end{tikzpicture}
\caption{caption}
\label{G_KaliTemp}
\end{figure}
\end{document}
[/code]
Hierzu noch der entsprechende Code aus Python:
[code]import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.style.use('seaborn-colorblind')
from matplotlib2tikz import save as tikz_save
fig = plt.figure(figsize=(7,4))
ax = fig.add_subplot(111)
ax.fill_between([1, 2],[2, 2],[3, 3],color = 'red',alpha=0.2, label ='roh')
ax.fill_between([1, 2],[4, 4],[5, 5],color = 'blue',alpha=0.2, label ='kal')
ax.plot([1, 2],[2, 5],'k',label='ref')
ax.grid()
plt.legend()
#plt.show()
tikz_save('minimalbeispiel.pgf')[/code]
Das Bild aus python mit richtiger Legende ist wieder im Anhang zu finden.
Ich würde ja fast vermuten, dass es am Export matplotlib2tikz liegt, da Tex den Code ja darstellt und die Größenangaben im Tex-Code auch nicht erzeugt werden. Aber wenn sich damit schonmal jemand befasst hat dann sicherlich die TEXer =)
Viele Grüße,
Axel
Nachtrag: Ja, Zeiten werden nicht in °C angegeben. Aber wenn ich so etwas ausprobiere, ändere ich immer mal ein paar Kleinigkeiten (z.B. lösche ich auch mal einen Buchstaben oder tue sonst was anderes), um zu prüfen ob die Änderungen auch im Tex-pdf angekommen sind. Aber wenn ich das Problem der Legende gelöst habe, werde ich das sicherlich auch noch schaffen. :wink: Nur Not kann ich na nochmal nach der richtigen SI Einheit der Zeit fragen :D