Matlabplot in pgf/tikz bearbeiten - störende Linien

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


mars94
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 12. Aug 2015, 20:47

Matlabplot in pgf/tikz bearbeiten - störende Linien

Beitrag von mars94 »

Hallo liebes Forum,

ich lasse mir mit einer Berechnung in Matlab einen contourf-Plot ausgeben, den ich gerne als Vektorgrafik in mein Latexdokument einfügen möchte. Dazu habe ich das Tool matlab2tikz gefunden, das mir dann die entsprechende *.tikz Datei erstellt. Das einbinden klappt soweit auch. Mein Problem liegt nun bei der Bearbeitung der Datei. Hier ein kleiner Auszug (die komplette Datei habe ich angehängt):
% This file was created by matlab2tikz.
%
%The latest updates can be retrieved from
%  http://www.mathworks.com/matlabcentral/fileexchange/22022-matlab2tikz-matlab2tikz
%where you can also make suggestions and rate matlab2tikz.
%
\definecolor{mycolor1}{rgb}{0.00000,0.00000,0.56250}%
\definecolor{mycolor2}{rgb}{0.00000,0.00000,0.68750}%
%... bis mycolor19
%
\begin{tikzpicture}[scale=0.6]

\begin{axis}[%
width=3.425in,
height=3.425in,
at={(0.945in,0.481in)},
scale only axis,
point meta min=563.886305255739,
point meta max=983.022535794094,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{black}},
x dir=reverse,
xmin=-10,
xmax=10,
xlabel={y [cm]},
every outer y axis line/.append style={black},
every y tick label/.append style={font=\color{black}},
y dir=reverse,
ymin=-10,
ymax=10,
ylabel={z [cm]},
axis background/.style={fill=white},
title style={font=\bfseries,align=center},
title={Temperaturfeld des Querschnitts\\[1ex]},
axis x line*=bottom,
axis y line*=left,
colormap/jet,
colorbar,
colorbar style={separate axis lines,every outer x axis line/.append style={black},every x tick label/.append style={font=\color{black}},every outer y axis line/.append style={black},every y tick label/.append style={font=\color{black}},ylabel style={align=center},ylabel near ticks,ylabel={\\[1ex]Temperatur [°C]}}	
]

\addplot[area legend,solid,fill=mycolor1,forget plot,]
table[row sep=crcr] {%
x	y\\
-10.000099990001	-10\\
-10.0000996178556	-9\\
-10.0000992570381	-8\\
%...viele weitere Punkte
-10	-10.000099990001\\
-10.000099990001	-10\\
}--cycle;

\addplot[area legend,solid,fill=mycolor2,forget plot]
table[row sep=crcr] {%
x	y\\
-10.0000961442317	-10\\
-10.0000957720849	-9\\
%...viele weitere Punkte
-10	-10.0000961442317\\
-10.0000961442317	-10\\
}--cycle;

% ... weitere \addplot

\end{axis}
\end{tikzpicture}%
Ein paar Sachen habe ich nachträglich schon geändert, jedoch bekomme ich die schwarzen Linien zwischen den einzelnen farbigen Bereichen nicht weg, die ich in Matlab mit
shading flat;
entfernt habe. Die Option
\addplot[shader=flat,...]

habe ich zwar gewunden, aber wenn ich das überall einfüge ändert sich das Ergebnis nicht. In dem angehängten Bild wird hoffentlich deutlich, welche Linien ich meine. Für dieses Beispiel gehen die schwarzen Linien zwar nich, jedoch habe ich noch andere Plots, die durch diese Linien viel dunkler wirken und man die hellen Farben kaum noch erkennt.

Ich hoffe jemand hat eine Idee, wie man dieses Problem beheben kann.

Viele Grüße
Marcel
Dateianhänge
test.tikz
(83.78 KiB) 364-mal heruntergeladen
links - wie es momentan ist<br />rechts - wie es sein sollte
links - wie es momentan ist
rechts - wie es sein sollte
problem.PNG (114.73 KiB) 1851 mal betrachtet

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn ich bei den Optionen für die axis Umgebung
every axis plot/.append style={draw=none}
einfüge und dann bei den einzelnen Plots nur die Füllfarbe als Option angebe wie zum Beispiel
\addplot[fill=mycolor1]
erhalte ich mit der angehangenen Beispieldatei

Bild

Alle weiteren für alle \addplot geltenden Optionen könnte man ebenfalls bei every axis plot/.append style angeben, wenn sie tatsächlich benötigt werden.
Dateianhänge
gl_tempfeld1.png
gl_tempfeld1.png (69.63 KiB) 1799 mal betrachtet
tempfeld.tex
(82.45 KiB) 392-mal heruntergeladen

mars94
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 12. Aug 2015, 20:47

Beitrag von mars94 »

Super! Hab ich gleich in alle Dateien eingefügt und es funktioniert einwandfrei und sieht gleich viel besser aus. Vielen Dank für die schnelle Lösung!

demon_of_dirt
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 26. Okt 2015, 18:09

Beitrag von demon_of_dirt »

Hallo zusammen,

ich habe ein ähnliches Problem, deshalb wollte ich keinen neuen Thread aufmachen.

Ich erstelle mir mit Matlab einige Plots, um in den Plots dann diverse Punkte anständig zu markieren erstelle ich Pfeile mit der Funktion "arrows3".
Das ganze funktioniert soweit auch ganz gut.
Die Plots werden dann mit Matlab2tikz konvertiert.
Wenn ich die Plots dann in mein Latex Dokument einfüge sind die Pfeilspitzen immer schwarz, die dazugehörigen Linien behalten ihre vorgegebene Farbe, diese kann ich auch ändern. Leider finde ich nicht heraus wie die Farbe der Spitzen ändern kann.

Im Anhang habe ich ein Bild das Ergebnisses angehängt.

Hier ein Auszug aus der Datei, die komplette Tikz ist im Anhang!

Der erste "\addplot" Befehl ist für die Linie des Pfeils, wenn ich dort color oder line width ändere passiert auch was.
Der zweite sollte meiner Meinung nach die Pfeilspitze darstellen, da verstehe ich aber nicht woher er da die Farbangaben bekommt.
\addplot [color=black,solid,line width=3.0pt,forget plot]
  table[row sep=crcr]{%
0	0\\
4	0\\
nan	0\\
};

\addplot[%
surf,
shader=flat,mesh/rows=31]
table[row sep=crcr, colormap name=surfmap, point meta=\thisrow{c}] {%
%
x	y	c\\
4	0	0\\
0.558675552162886	-0.0967872500954188	1\\
4	0	2\\
0.558675552162886	-0.0946722164624567	3\\
4	0	4\\
0.558675552162886	-0.0884195526823883	5\\
4	0	6\\
0.558675552162886	-0.0783025301660121	7\\
4	0	8\\
0.558675552162886	-0.0647633113441541	9\\
4	0	10\\
0.558675552162886	-0.0483936250477094	11\\
4	0	12\\
0.558675552162886	-0.0299089051183027	13\\
4	0	14\\
0.558675552162886	-0.0101170225163762	15\\
4	0	16\\
0.558675552162886	0.0101170225163762	17\\
4	0	18\\
0.558675552162886	0.0299089051183027	19\\
4	0	20\\
0.558675552162886	0.0483936250477094	21\\
4	0	22\\
0.558675552162886	0.064763311344154	23\\
4	0	24\\
0.558675552162886	0.0783025301660121	25\\
4	0	26\\
0.558675552162886	0.0884195526823883	27\\
4	0	28\\
0.558675552162886	0.0946722164624567	29\\
4	0	30\\
0.558675552162886	0.0967872500954188	31\\
4	0	32\\
0.558675552162886	0.0946722164624567	33\\
4	0	34\\
0.558675552162886	0.0884195526823883	35\\
4	0	36\\
0.558675552162886	0.0783025301660121	37\\
4	0	38\\
0.558675552162886	0.0647633113441541	39\\
4	0	40\\
0.558675552162886	0.0483936250477095	41\\
4	0	42\\
0.558675552162886	0.0299089051183027	43\\
4	0	44\\
0.558675552162886	0.0101170225163763	45\\
4	0	46\\
0.558675552162886	-0.0101170225163762	47\\
4	0	48\\
0.558675552162886	-0.0299089051183027	49\\
4	0	50\\
0.558675552162886	-0.0483936250477094	51\\
4	0	52\\
0.558675552162886	-0.0647633113441541	53\\
4	0	54\\
0.558675552162886	-0.0783025301660121	55\\
4	0	56\\
0.558675552162886	-0.0884195526823883	57\\
4	0	58\\
0.558675552162886	-0.0946722164624567	59\\
4	0	60\\
0.558675552162886	-0.0967872500954188	61\\
};

Wäre schön wenn ir da jemand weiterhelfen könnte.

Schon mal Danke vorab!

Gruß
Stefan
Dateianhänge
Beispiel.tikz
(18.9 KiB) 317-mal heruntergeladen
beispiel.PNG
beispiel.PNG (23.01 KiB) 1833 mal betrachtet

Antworten