Windrosette mit pgf

Tabellen und Grafiken erstellen und anordnen


Hennes

Windrosette mit pgf

Beitrag 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

Stamm-

Nicht nachvollziehbar

Beitrag 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?

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag 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}

Hennes

Beitrag 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

feuersaenger
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 91
Registriert: Mi 5. Okt 2011, 18:24
Wohnort: Rheinbach

Beitrag 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

Hennes

Beitrag von Hennes »

@Christian: Herzlichen Dank!

Klasse Forum!

Viele Grüße
Hennes

Antworten