Seite 1 von 1
Datensatz plotten
Verfasst: Montag 7. Dezember 2020, 08:11
von thomasxiii
Guten Morgen liebe Community,
ich muss für eine wissenschaftliche Arbeit Daten plotten. Dies habe ich soweit auch hinbekommen.
Auf der x-Achse befinden sich gut 10000 Werte. Auf der y-Achse sind die Kräfte eingetragen.
Nun möchte ich die Peaks makieren und die Werte an der Stelle ausgeben. Idealerweise ohne die x-Werte bei den Peaks zu kennen. Alternativ wäre es auch okay die x-Werte einzugeben. Die Peaks kann ich notfalls selbst ablesen. Könnt ihr mir weiterhelfen?
LG Tom
Re: Datensatz plotten
Verfasst: Montag 7. Dezember 2020, 09:43
von sparrow
So ein bisschen Kontext ist aber schon ratsam.
Zeig anhand eines lauffähigen Beispielcodes, was du bisher tust. Denn aus deiner Erklärung gehen nicht einmal so Kleinigkeiten wie die verwendeten Module und Bibliotheken hervor...
Re: Datensatz plotten
Verfasst: Montag 7. Dezember 2020, 11:01
von einfachTobi
Schuss ins Blaue:
https://docs.scipy.org/doc/scipy/refere ... peaks.html.
Grundsätzlich hat sparrow Recht: Um bei Problemen eine Hilfestellung geben zu können, müssen eine detaillierte Beschreibung und vor allem der Code vorhanden sein.
Re: Datensatz plotten
Verfasst: Montag 7. Dezember 2020, 14:56
von thomasxiii
Also das ist soweit mein Code:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
abc = pd.read_excel('abc.xlsx', 'Tabelle1')
Reihenfolge = abc['Reihenfolge'][1:]
F = abc['F'][1:]
plt.plot(Reihenfolge, F)
plt.show()
Nun möchte ich F bei bei z.B. Reihenfolge=881 ausgeben im Plot. Also das dieser Punkt fabrlich kenntlich gemacht ist und das der Wert im Diagramm zu sehen ist.
Könnt ihr mir weiterhelfen?
Danke und viele Grüße,
Tom
Re: Datensatz plotten
Verfasst: Montag 7. Dezember 2020, 15:46
von einfachTobi
Zunächst die offensichtlichen Punkte:
- Numpy wird importiert, aber nicht verwendet.
- Variablen schreibt man komplett_klein.
- Verwende vernünftige Namen für deine Variablen, die den Inhalt beschreiben. Auch für deine Beispiele hier.
- Bitte benutze die Code-Tags im Forum, damit die Einrückungen erhalten bleiben (</>-Knopf im vollständigen Editor).
Die Verwendung von `[1:]` erschließt sich mir nicht ganz. Warum machst du das? Ich vermute, dass du Dinge überspringen willst, was gleich beim richtigen Einlesen der Daten erledigt werden kann (s.
https://pandas.pydata.org/pandas-docs/s ... excel.html).
Wenn du einfach nur bestimmte Punkte markieren willst:
https://matplotlib.org/3.3.3/api/_as_ge ... atter.html. Ansonsten schau dir meinen vorherigen Link an - das sind auch Beispiele in denen genau das gemacht wird, was du vor hast.
Re: Datensatz plotten
Verfasst: Donnerstag 10. Dezember 2020, 05:25
von thomasxiii
Danke für die Tipps

Ich habe es mittlerweile geschafft, dass ich einen Text mit der Funktion annotate im Diagramm plotten kann:
plt.annotate('abc',
xy=(881, F[880]), xycoords='data',
xytext=(+10, +30), textcoords='offset points', fontsize=16,
arrowprops=dict(arrowstyle="->", connectionstyle="arc3, rad=.2"))
Allerdings möchte ich keinen Text plotten sondern den Wert F[880]. Könnt ihr mir da weiterhelfen?