Verwenden von benutzerdefiniertem Code zum Beschriften von Balkendiagrammgruppen
Das Hinzufügen von Gruppenbeschriftungen zu einem Balkendiagramm ist ein Ansatz, der in Betracht gezogen werden kann, insbesondere wenn Eine native Lösung in Matplotlib ist nicht verfügbar. Sie besteht darin, eine benutzerdefinierte Funktion zu erstellen. So geht's:
def label_group_bar(ax, data): # Prepare data groups = mk_groups(data) xy = groups.pop() x, y = zip(*xy) ly = len(y) # Create bar chart xticks = range(1, ly + 1) ax.bar(xticks, y, align='center') ax.set_xticks(xticks) ax.set_xticklabels(x) ax.set_xlim(.5, ly + .5) ax.yaxis.grid(True) # Add lines for group separation scale = 1. / ly for pos in range(ly + 1): add_line(ax, pos * scale, -.1) # Add labels below groups ypos = -.2 while groups: group = groups.pop() pos = 0 for label, rpos in group: lxpos = (pos + .5 * rpos) * scale ax.text(lxpos, ypos, label, ha='center', transform=ax.transAxes) add_line(ax, pos * scale, ypos) pos += rpos add_line(ax, pos * scale, ypos) ypos -= .1
Um die Datenvorbereitung und Zeilenerstellung zu handhaben:
# Extract data groups and prepare for custom function def mk_groups(data): ... # Create vertical line in plot def add_line(ax, xpos, ypos): ...
Um dies zu nutzen Lösung:
# Import necessary modules import matplotlib.pyplot as plt # Sample data data = ... # Create plot and apply custom function fig = plt.figure() ax = fig.add_subplot(1,1,1) label_group_bar(ax, data) fig.subplots_adjust(bottom=0.3) fig.savefig('label_group_bar_example.png')
Mit diesem Ansatz können Sie Gruppenbeschriftungen zu Ihrem Balkendiagramm hinzufügen und so die Datenvisualisierung informativer gestalten.
Hinweis: Alternative und möglicherweise optimiertere Lösungen sind zur weiteren Prüfung willkommen.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von benutzerdefiniertem Code Gruppenbeschriftungen zu einem Matplotlib-Balkendiagramm hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!