Ich habe einen DataFrame, der so aussieht, wenn er entstapelt.Pandas Seaborn Heatmap Fehler
Start Date 2016-07-11 2016-07-12 2016-07-13
Period
0 1.000000 1.000000 1.0
1 0.684211 0.738095 NaN
2 0.592105 NaN NaN
Ich versuche, es in Seaborn als Heatmap zu plotten, aber es gibt mir unbeabsichtigte Ergebnisse.
Hier ist mein Code:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(np.array(data), columns=['Start Date', 'Period', 'Users'])
df = df.fillna(0)
df = df.set_index(['Start Date', 'Period'])
sizes = df['Users'].groupby(level=0).first()
df = df['Users'].unstack(0).divide(sizes, axis=1)
plt.title("Test")
sns.heatmap(df.T, mask=df.T.isnull(), annot=True, fmt='.0%')
plt.tight_layout()
plt.savefig(table._v_name + "fig.png")
Ich will es so, dass der Text nicht überlappt, und es gibt nicht mehr als 6 Wärme Legenden auf der Seite. Auch wenn möglich, wie kann ich das Datum so einstellen, dass es nur% Y-% m-% d anzeigt?
Unbeabsichtigte Ergebnisse ist kein Fehler. – Parfait
werde schwer sein, dies mit der 'data' Variablen –
zu reproduzieren Bitte zeigen Sie ein * full * Beispiel oder wir können Ihnen nicht helfen. Basierend auf dem Plot und der Einrückung in Ihrem Beispiel sieht es so aus, als würden Sie eine Schleife bilden (und nicht jede Schleife eine neue Zahl erstellen, daher Ihr Problem), aber es ist eine Verschwendung unserer Zeit, zu raten, was Sie tun . – mwaskom