Python Matplotlib:x轴标签的位置不在笔划下方

46qrfjad  于 2023-08-06  发布在  Python
关注(0)|答案(1)|浏览(106)

x轴标签的位置不在中间,见图。我希望垂直轴标签正好位于三个条形块的笔划下方。我找不到一个参数,所以解决了这个问题。有人有主意吗?

import pandas as pd

data = {
    'Messwert1': [10, 5, 8],
    'Messwert2': [7, 3, 6],
    'Messwert3': [12, 10, 15],
    'Typ': ['Annn', 'Bnnn \n kkks', 'C']
}

df = pd.DataFrame(data)

import numpy as np
import matplotlib.pyplot as plt

# Daten aus dem DataFrame extrahieren
x = df['Typ']
y1 = df['Messwert1']
y2 = df['Messwert2']
y3 = df['Messwert3']

# Balkenpositionen berechnen
bar_width = 0.2
x_pos = np.arange(len(x))

# Balkendiagramm erstellen
plt.bar(x_pos, y1, width=bar_width, label='Messwert1')
plt.bar(x_pos + bar_width, y2, width=bar_width, label='Messwert2')
plt.bar(x_pos + 2*bar_width, y3, width=bar_width, label='Messwert3')

# Achsentitel hinzufügen
plt.xlabel('Typ')
plt.ylabel('Messwerte')

# x-Achsenbeschriftung anpassen
plt.xticks(x_pos + bar_width, x, rotation='vertical', ha='right')

# Legende anzeigen
plt.legend()

# Diagramm anzeigen
plt.show()

字符串


的数据

0g0grzrc

0g0grzrc1#

因为有ha="right"所以它们是偏移的。这意味着旋转文本的右侧将与刻度标记对齐。将其更改为ha="center",您将获得所需的结果。您可能还希望在plt.show()之前添加plt.tight_figure(),因为旋转的标签会将xlabel推到图形区域之外。


的数据

相关问题