Datumsachse Excel

OP #6038246
Lesenswert?

Hallo Zusammen,

anbei ist eine beispielhafte Excel Datei. Ich will daraus nun ein 
Diagramm erstellen, welches als hozizontale Achse nur die Monate 
enthält, also z.B. Januar, Februar, ..., Dezember.
Leider klappt das bei mir nicht. Entweder ist die X Achse völlig 
überladen, oder die Werte eines Tages werden einfach zusammengefasst.
Ich hoffe, da kann mir jemand helfen. Es wäre super, wenn ihr das 
Diagramm erstellen könntet und die Datei anschließend wieder ins Forum 
postet.

Danke und VG Luk_Luk
Angehängte Dateien:
Persönliche Seite #6038282
Lesenswert?

Einfügen
Diagramm
Typ Punkt X,Y
Markierungspunkte im Mikroformat einstellen
Achse anpassen:
Achsenoptionen
Min  42370
Max  42735
Hauptintervall 30 oder 7
Hilfsintervall 1
Zahl (ganz unten) ---> Typ Formatcode [$-407]MMMM;@ <--- (hinzufügen)

Und das Diagramm breeeiiit ziehen....

evtl. besser als 3D-Säulendiagramm mit Monat (Spalte A) und Stunde 
(Spalte B) als oden und Daten (Spalte D) als Höhen-Werte

p.s. bei der Tabelle geht regelmäßig mein Excel in die Knie...
#6038377
Lesenswert?

Jaja, es war nach Excel gefragt:
1
## Bibliotheken 
2
import pandas as pd
3
import locale
4
locale.setlocale(locale.LC_TIME, "de_DE")  
5
import matplotlib.pyplot as plt
6
import matplotlib
7
import numpy as np
8
import datetime as dt
9
import matplotlib.dates as mdates 
10
from matplotlib import rcParams
11
import matplotlib.ticker as ticker
12
 
13

14
## Plot formatieren
15
plt.rc('text', usetex=True)
16
plt.rc('text.latex', preamble=r'\usepackage{underscore}') 
17
plt.rc('font', family='serif')
18
plt.rcParams.update({'font.size': 8})
19
plt.rcParams['font.serif'] = "Linux Libertine"
20
plt.rcParams['axes.linewidth'] = 0.5
21
plt.rcParams['legend.fancybox'] = False
22
plt.rcParams['axes.linewidth'] = 0.5
23

24
## Import
25
daten = pd.read_csv("Lukas.csv", sep=";", decimal=","   ,encoding="cp1252")
26
daten['Zeit'] = pd.to_datetime(daten['Datum '] + ' ' + daten['Uhrzeit'],dayfirst=True)
27
daten.set_index(['Zeit'], inplace=True)
28
 
29
    
30
## Plot
31
fig, ax = plt.subplots(figsize=(50, 5), dpi=330)
32
daten.Werte.plot(ax=ax,linewidth=0.5,alpha = 0.8,color='xkcd:dark blue') 
33

34
h0, l0 = ax.get_legend_handles_labels() 
35
legend = plt.legend(h0, l0, borderpad=0.15,labelspacing=0.1,  frameon=True, edgecolor="xkcd:black", ncol=1, loc=2, framealpha=1, facecolor='white') 
36
legend.get_frame().set_linewidth(0.3)    
37
ax.set_xlabel('')   
38
ax.xaxis.set_major_locator(mdates.MonthLocator()) 
39
ax.xaxis.set_minor_locator(mdates.MonthLocator(bymonthday=16))
40
ax.xaxis.set_major_formatter(ticker.NullFormatter())
41
ax.xaxis.set_minor_formatter(mdates.DateFormatter('%B'))
42

43
for tick in ax.xaxis.get_minor_ticks():
44
    tick.tick1line.set_markersize(0)
45
    tick.tick2line.set_markersize(0)
46
    tick.label1.set_horizontalalignment('center')
47
    
48

49
plt.tight_layout() 
50
plt.show() 
51
plt.savefig('Lukas.png', bbox_inches='tight')
Angehängte Dateien:
Persönliche Seite #6038524
Lesenswert?

der Spalte D mit den Werten eine Spaltenüberschrift verpassen
Pivottabelle über die Daten erstellen
Zeilen: Datum aus Spalte A
Spalten: Uhrzeit aus Spalte B
Werte: Werte aus Spalte D

Pivottabelle ohne Summen-Spalte/-zeile markieren
Einfügen
Diagramm "3D Säulen"
schön groß ziehen

alternativ in der Pivotabelle Spalten und Zeilen tauschen

allerdings lässt sich kein Zusammenhang der Werte zu den Uhrzeiten/Tagen 
erkennen
OP #6038739
Lesenswert?

Danke für eure Antworten. Leider helfen sie mir allerdings beide nicht 
so wirklich weiter.

@kolja82: Super, genauso ein Diagramm würde ich mir wünschen. Und ja, 
wenn ich dürfte, dann würde ich es auch nicht in Excel machen, 
allerdings muss ich..Und in Excel komm ich nicht weiter :/

@mike_b97: Wenn ich es so mache wie von dir beschrieben, dann erscheint 
ein Diagramm, welches zwar tatsächlich nur das Datum als X-Achse 
anzeigt. Allerdings werden jetzt ja die Daten für eine Uhrzeit über die 
Tage der Monate geplottet. D.h. alle Daten um bspw. 12:00 werden 
gesammelt und über den 365 Tagen des Jahres geplottet. Ich will aber 
schon eine chronologische Abfolge im Diagramm..Also im Prinzip genau so 
ein Diagramm wie von kolja82
Persönliche Seite #6038867
Lesenswert?

Lukas R. schrieb:
> @mike_b97: Wenn ich es so mache wie von dir beschrieben, dann erscheint
> ein Diagramm, welches zwar tatsächlich nur das Datum als X-Achse
> anzeigt. Allerdings werden jetzt ja die Daten für eine Uhrzeit über die
> Tage der Monate geplottet. D.h. alle Daten um bspw. 12:00 werden
> gesammelt und über den 365 Tagen des Jahres geplottet. Ich will aber
> schon eine chronologische Abfolge im Diagramm..Also im Prinzip genau so
> ein Diagramm wie von kolja82

da siehst du absolut nix auf dem Diagramm, hab ich versucht

wenn, dann musst du das von mir zuerst vorgeschlagene Diagramm nehmen 
post um 10:55Uhr und die Linien entfernen und nur ganz feine 
Markierungspunkte anzeigen lassen
dann kannst du zwar auch nur eine Punktwolke erkennen, aber besser als 
eine simple blaue Fläche

nein, wie gesagt
probier es mit ner Pivotabelle und darauf aufbauend einem Pivodiagramm 
3D Säulen, dann hast du die Tage und den zeitlichen Verlauf auf jeweils 
einer Achse und die Werte als Höhe

Bei mir wird Excel dann immer schnarchlahm und dafür hab ich i.M. keine 
Zeit
seit dem blue screen of death deswegen heute mittag hab ich nichmal mehr 
Ton...
gnimpf
OP #6039393
Lesenswert?

Kolja L. schrieb:
> Um die Aussage des Diagramms ging es ja auch nicht.
> Vielleicht sind das ja eh nur Beispieldaten?

Richtig, die echten Daten kann ich hier nicht veröffentlichen.

Danke Kolja, allerdings taucht hier schon das nächste Problem auf. Zoomt 
man in das von dir erstellte Diagramm ein (sh. beigefügtes Bild), dann 
sieht man, dass es sich im Prinzip um waagerechte Linien handelt, die 
miteinander verbunden sind. Jede waagrechte Linie entspricht einen Tag. 
Das heißt die X Werte sind die Tage, und alle Werte des Tages werden an 
der selben Stelle der X Achse aufgetagen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren