Diagramm erstellen y-Achse=Summe gleicher Werte

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Diagramm erstellen y-Achse=Summe gleicher Werte

Re: Diagramm erstellen y-Achse=Summe gleicher Werte

von cis » Sa 1. Aug 2020, 11:44

Du suchst also eine Häufigkeitsverteilung, auch bekannt als Histogramm, und diese soll mit pgfplots als Linien- bzw. sharp plot ausgeführt werden (im Unterschied zu der ybar-Darstellung, die hier häufiger vorkommt).

5555555.png
5555555.png (7.52 KiB) 1293 mal betrachtet
\documentclass[a4paper]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepgfplotslibrary{statistics}

\pgfplotstableread[header=false]{
1
2
2
3
3
3
4
4
4
4
5
5
5
6
6
7
7
9
9
9
}\mydata


\begin{document}
% Maximum finden =====
\pgfplotstablegetrowsof{\mydata}
\pgfmathsetmacro{\RowsNo}{\pgfplotsretval-1}  
%\RowsNo \pgfmathsetmacro\xMax{0} \foreach \n in {0,...,\RowsNo}{ \pgfplotstablegetelem{\n}{0}\of{\mydata} \pgfmathsetmacro\xMax{\pgfplotsretval > \xMax ? \pgfplotsretval : \xMax} \xdef\xMax{\xMax} } %Maximalwert: \xMax %\pgfmathtruncatemacro\xMaxP{\xMax-1} \pgfmathtruncatemacro\xMaxS{\xMax+1} % ===== \begin{tikzpicture} \begin{axis}[ xmin=0, ymin=0, xmax=\xMax+0.5, domain=0:\xMax, axis lines=left, axis equal, grid=both, xtick={0,...,\xMax}, ytick={0,1,...,22}, xlabel=Wert, ylabel=Häufigkeit, title=Histogramm, ] \addplot+ [ hist={ bins=\xMax, data min=1, data max=\xMaxS, % = \xMax + 1 handler/.style={sharp plot}, intervals=false }, ] table[y index=0]{\mydata}; \end{axis} \end{tikzpicture} \end{document}

PS: Du siehst, es war keine große Kunst, einen entsprechenden Datensatz als Tabelle zu ergänzen. Da Du das beim Code im Startpost ausgelassen hast, dürftest Du auch 2 Jahre keine Antwort erhalten haben.

Diagramm erstellen y-Achse=Summe gleicher Werte

von Akosol » Sa 19. Aug 2017, 13:21

Hallo zusammen,
ich versuche derzeit ein Diagramm zu erstellen, für welches ich die Werte, die auf der x-Achse eingetragen werden, aus einer Datei ziehe.
Die y-Werte sollen durch die Häufigkeit gleicher Werte errechnet werden.
Das Bild stellt die Anforderung nochmal dar.
Leider konnte ich im großen weiten Internet bisher keine passende Lösung oder Fragestellung dazu finden.
\documentclass[paper=a4,12pt,version=last]{scrartcl}
\usepackage{pgfplots}

\begin{document}
	\begin{tikzpicture}
	\begin{axis}[ymin=0,
		x tick label style={/pgf/number format/1000 sep=},
		xlabel={values},
		y tick label style={/pgf/number format/1000 sep=},
		ylabel={amount of values}]
		\addplot table [ ... ,col sep=semicolon]  {data.csv};
	\end{axis}
	\end{tikzpicture}
\end{document}
Das ist mein Minimalbeispiel so weit. Da, wo die drei Punkte sind, müsste ein entsprechender Befehl rein. Die Datei beinhaltet eine Spalte mit Zahlen (für die x-Achse) in beliebiger Reihenfolge.
Gibt es da irgendeine Möglichkeit, Latex die Summe berechnen zu lassen?
Dateianhänge
Diagram-draft.jpg
Diagram-draft.jpg (557.68 KiB) 1585 mal betrachtet

Nach oben