Ich bin verloren in verschiedenen Methoden in Matplotlib verwendet.Scatter Plot mit Colorbar und datetime Achse Ticks
Ich möchte ein farbkodiertes Streudiagramm mit einer Farbleiste auf der Seite und Datum auf der X-Achse erstellen.
Aber abhängig davon, wie ich meine ax
definiere, erhalte ich verschiedene Fehler. Unten ist der Kern meines Code:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import matplotlib.cm as cm
import matplotlib.dates as mdates
#.....loading files etc.
norm = mcolors.Normalize(vmin=0,vmax=1000)
timerange = pd.date_range(start='2015-01-01', end='2016-01-01', freq='30D')
### PLOTTING
fig = plt.figure(figsize=(6.,5))
ax = fig.add_subplot(111)
for Af in Afiles:
for index, row in Af.iterrows():
time = pd.to_datetime(row['date'], format="%Y-%m-%d")
plt.scatter(time, row['A'], c=row['z'], norm=norm, cmap=colormap,edgecolor='k', lw=0.8, s=80)
plt.xticks(timerange, rotation=90)
ax.xaxis.set_major_formatter(mdates.DateFormatter("%d/%m/%Y"))
plt.xlabel('Time', fontsize=11, color='k')
clb = fig.colorbar(ax)
clb.ax.set_title('Value', y=-0.125, fontsize=11)
clb.ax.invert_yaxis()
fig.tight_layout()
dies erzeugt AttributeError: 'AxesSubplot' object has no attribute 'autoscale_None'
aber wenn ich meine angeben ax
als das Streudiagramm, so dass ich meine Farbcodierung zum Laufen bringen kann, dann habe ich Probleme mit der Achsenformatierer. Schreiben statt ax = plt.scatter
generiert AttributeError: 'PathCollection' object has no attribute 'xaxis'
.
Wie kann ich sowohl die Farbbalken UND formatierte Achse Ticks haben?
Natürlich! Dumm ich, danke. Das ist peinlich. – durbachit