使用matplotlib在分组条形图中添加条形间距

weylhg0b  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(113)

我现在的代码看起来像这样:

import matplotlib.pyplot as plt
import numpy as np
def create_grouped_bar_chart():
    # Daten für die Balken
    groups = 3
    bar_width = 0.35
    x = np.arange(groups)
    values1 = [2, 3, 4]  # Werte für die ersten 2 Balken
    values2 = [4, 5, 2]  # Werte für die nächsten 2 Balken

    # Balkendiagramm erstellen
    fig, ax = plt.subplots()
    
    # Ersten Balken jeder Gruppe mit Streifen versehen (hatch)
    bar1 = ax.bar(x, values1, bar_width, label='Beschriftung 1', hatch='///', edgecolor='black', color='white')
    bar2 = ax.bar(x + bar_width, values2, bar_width, label='Beschriftung 2', edgecolor='black', color='gray')

    # Achsenbeschriftungen
    plt.xlabel('X-Achse')
    plt.ylabel('Y-Achse')
    
    # Achsenbereiche festlegen
    plt.ylim(0, 6)
    plt.yticks(np.arange(0, 7, 1))

    # X-Achse beschriften
    ax.set_xticks(x + bar_width / 2)
    ax.set_xticklabels(['Gruppe 1', 'Gruppe 2', 'Gruppe 3'])

    # Titel und Legende anzeigen
    plt.title('2D Balkendiagramm mit Gruppen')
    plt.legend()

    # Diagramm anzeigen
    plt.show()

create_grouped_bar_chart()

字符串
是否可以在每组中分组在一起的两根钢筋之间添加间距?当它们像这样并排的时候看起来有点奇怪。非常感谢:)

7rtdyuoh

7rtdyuoh1#

是的,这是可能的。

import matplotlib.pyplot as plt
import numpy as np

def create_grouped_bar_chart():
    # Daten für die Balken
    groups = 3
    bar_width = 0.35 #Adjustable as needed
    x = np.arange(groups)
    values1 = [2, 3, 4]  # Werte für die ersten 2 Balken
    values2 = [4, 5, 2]  # Werte für die nächsten 2 Balken

    # Balkendiagramm erstellen
    fig, ax = plt.subplots()
    
#UPDATED HERE=================
    # Ersten Balken jeder Gruppe mit Streifen versehen (hatch)
    bar1 = ax.bar(x - bar_width/2, values1, bar_width, label='Beschriftung 1', hatch='///', edgecolor='black', color='white')
    bar2 = ax.bar(x + bar_width/2, values2, bar_width, label='Beschriftung 2', edgecolor='black', color='gray')

    # Achsenbeschriftungen
    plt.xlabel('X-Achse')
    plt.ylabel('Y-Achse')
    
    # Achsenbereiche festlegen
    plt.ylim(0, 6)
    plt.yticks(np.arange(0, 7, 1))

    # X-Achse beschriften
    ax.set_xticks(x)
    ax.set_xticklabels(['Gruppe 1', 'Gruppe 2', 'Gruppe 3'])

    # Titel und Legende anzeigen
    plt.title('2D Balkendiagramm mit Gruppen')
    plt.legend()

    # Diagramm anzeigen
    plt.show()

create_grouped_bar_chart()

字符串
这是一个更新的代码,用于在分组的条形图之间添加空间。
第一组条形图的x坐标

"x - bar_width/2"


第二组条形图的x坐标

"x + bar_width/2"


根据需要可调整条宽度。
希望这对你有帮助。

相关问题