Ich versuche zwei Heatmaps zu zeichnen, die die gleiche x-Achse auf einer einzelnen Figur mit verschiedenen Unterplots haben, deren Skalen unterschiedlich sind, so dass sie unterschiedliche Farbbalken benötigen. Jede Heatmap auch eine unterschiedliche Anzahl von Beobachtungen entlang der y-Achse hat, siehe unten:Wie man die Breite der Farbbalken konsistent in Seaborn heatmap subplots hält
import numpy as np
import seaborn as sns
arr1 = np.random.rand(10, 10)*100
arr2 = np.random.rand(2, 10)
fig, axes = plt.subplots(2, 1,
gridspec_kw={'height_ratios':[5, 1]},
sharex=True)
sns.heatmap(arr1, ax=axes[0])
sns.heatmap(arr2, ax=axes[1])
Die Breite der Farbbalken zwischen den Stellplätzen nicht konsistent. Das macht Sinn und ist nicht unerwartet, aber ich möchte die Weite von jedem aus ästhetischen Gründen konsequent machen.
Ich versuchte, die cbar
Parameter verwendet und explizit die Größe und Lage des colorbar definieren:
fig, axes = plt.subplots(2, 1,
gridspec_kw={'height_ratios':[5, 1]},
sharex=True)
sns.heatmap(arr1, ax=axes[0])
cbar_ax = fig.add_axes([.85, .135, .019, .15])
sns.heatmap(arr2, ax=axes[1], cbar_ax=cbar_ax)
Obwohl in diesem Tun der Grundstücke sind nicht mehr konsistent Breite. Ist hier der beste Ansatz, um Achsen für jeden Farbbalken auf den einzelnen Achsenunterplots zu definieren? Es scheint, es kann ein einfacher Weg sein, die ich