Seite 1 von 1

Windrosette mit pgf

Verfasst: Fr 26. Jul 2013, 15:37
von Hennes
Hallo,

ich möchte horizontale Windmessdaten in einer Windrose als Punktwolke visualisieren. Dazu versuche ich gerade meine Messdateien - es handelt sich dabei jeweils um die Windgeschwindigkeit (Spalte 2) und die dazugehörige Richtung (0 bis 359 Grad) (Spalte 1) - in pgfplots einzulesen. Bisher leider ohne Erfolg. Die Anleitung [http://pgfplots.sourceforge.net/pgfplots.pdf (Abschnitt 5.7)] konnte mir diesbezüglich leider auch nicht weiterhelfen.

Der Grundlegende Aufbau ist jedoch wie folgt:
\begin{tikzpicture}
\begin{polaraxis}
\addplot coordinates {(0,1) (90,1)
(180,1) (270,1)};
\end{polaraxis}
\end{tikzpicture}
Hat jemand von euch schonmal sowas umgesetzt?

Viele Grüße
Hennes

Nicht nachvollziehbar

Verfasst: Fr 26. Jul 2013, 19:43
von Stamm-
In Ermangelung eines vollständigen Minimalbeispiels lässt sich da nur spekulieren. Und das hilft bei der Lösungsfindung überhaupt nicht. Du hast aber schon mal Abschnitt 5.7 der Anleitung zu pgfplots gelesen?

Verfasst: Fr 26. Jul 2013, 20:33
von feuersaenger
Du kannst mit 'only marks' reine punktwolken zeichnen.

Wenn Du die punktwolke auch noch individuell einfaerben willst, kannst Du zusaetzlich 'scatter' angeben.

Bei einer Windrose koennte es Sinn machen, als farbe die windgeschwindigkeit hoch 3 zu nehmen. Allerdings hast Du davon mehr Ahnung als ich, folgendes ist also rein beispielhaft:
\documentclass[a4paper]{article}

\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\pgfplotsset{compat=1.8}

\begin{document}
\thispagestyle{empty}

\begin{tikzpicture}
\begin{polaraxis}[colorbar]
\addplot+[
	scatter,
	only marks,
	point meta=\thisrow{windgeschwindigkeit}^3,
]
table {
	richtung windgeschwindigkeit
	45	40
	60  45
	70	10
	30	30
	61	55
};
\end{polaraxis}
\end{tikzpicture}
\end{document}

Verfasst: Sa 5. Okt 2013, 19:31
von Hennes
Danke!

So funktioniert es schon ganz gut, fast so wie ich es mir vorgestellt hatte:
\documentclass{standalone} 

\usepackage{pgfplots} 
\usepgfplotslibrary{polar} 
\pgfplotsset{compat=1.8} 

\begin{document} 
\thispagestyle{empty}
\begin{tikzpicture}
\begin{polaraxis}[
	rotate=-90,
	ymax=60,
	height=7cm, width=7cm,
	colorbar,
	colormap={color}{color(0)=(white); color(1)=(blue)},
	colorbar shift/.style={xshift=0.0cm}, %Abstand colorbar
	colorbar/width=0.35cm, %Breite colorbar
	colorbar sampled={surf},
	colorbar style={
	ytick={0,20,40,60},
	tickwidth=0pt,
	tick style={color=white},
	faceted color=white, 
	ylabel={\rotatebox{-90}{$v\,\left[\frac{\mathrm m}{\mathrm s}\right]$}}, 			%z-Achsenbeschriftung 
	ylabel style={at={(-1.5,+1.1)}},
	y axis line style={draw opacity=0},
	colorbar sampled line=\marg{none}}, 
	xticklabel style={inner xsep=0pt,  circle,anchor=-\tick-(90)},
	yticklabel =\empty,
every axis/.append style={
        line width=0.1pt,
        tick style={line width=0.0pt}},
        grid style={line width=0.1pt, color=black},
	yticklabel style={faceted color=white,tickwidth=0pt,},
	xticklabel=$\pgfmathprintnumber{\tick}^\circ$, 
	x dir = reverse,
	xtick={0,30,...,330},
	] 
\addplot+[
   scatter,
   only marks,
   mark=*,
] 
plot coordinates  { 
   (0, 0)
   (45,   40 )
   (60,  45 )
   (70  , 10 )
   (30 ,  30 )
   (61,   55 )
   (61,   60 )
}; 
\end{polaraxis} 
\end{tikzpicture} 
\end{document}

Code ist noch etwas unaufgeräumt. :lol:


Nun stören mich jedoch noch die kleinen schwarzen Striche oben und unten an der colorbar. Bekommt man die weg?

Viele Grüße
Hennes

Verfasst: Sa 5. Okt 2013, 20:40
von feuersaenger
Hallo Hennes,

Du hast in Deinen colorbar styles u.a. auch

y axis line style={draw opacity=0},

stehen - das unterdrueckt die schwarze umrandung fuer y. Wenn Du das auch fuer x angibst, sind sie weg.

Mit liebem Gruss

Christian

Verfasst: So 13. Okt 2013, 20:16
von Hennes
@Christian: Herzlichen Dank!

Klasse Forum!

Viele Grüße
Hennes