У меня есть прерывистые данные для моих значений x T (585 590 595 605).Мне нужно, чтобы они были равномерно распределены по оси X.
Я не могу использовать "T.astype (str)", потому что мне нужно немного добавить / вычесть, потому что у меня есть три бара для каждого значения.
Вот как это выглядит сейчас: Нажмите для изображения
Вот код:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# Read exel file
Tabelle = pd.read_excel("path.xlsx", nrows=4)
# T = temperature for (x-axis):
T = Tabelle["T./°C"]
xpos = np.array(T, dtype=int)
# for Rp/Rm/e over T:
y = Tabelle["MW. Rm"]
y1 = Tabelle["MW. Rp0,2"]
y2 = Tabelle["MW. e"]
# barwidth
w = 0.33
# figures in grid:
fig = plt.figure(figsize=(10, 5))
# graph in 0,0:
ax1 = plt.subplot2grid(shape=(1, 2), loc=(0, 0))
# graphs in (0,0):
ax1.bar(xpos - 0.33, y, label="Rm", color="firebrick", width=-0.5, align="edge")
ax1.bar(xpos, y1, label="Rp0,2", color="c", width=0.5, align="center")
ax2 = ax1.twinx()
ax2.bar(xpos + 0.33, y2, label="ε-Bruch", color="orange", width=0.5, align="edge")
# settings (0,0):
ax1.set_xlabel("Gießtemperatur / °C")
ax1.set_ylim(0, 250)
ax2.set_ylim(0, 5)
ax1.set_ylabel("Rp0,2 und Rm / N/mm²")
ax2.set_ylabel("Bruchdehnung / %")
plt.show()
Планируется как (1,2)-сетка, но в (0,1) пока ничего нет.
Что мне сделать, чтобы получить xticks и Labeling за 585 590 595 605 и при этом иметь три бара рядом друг с другом?
Спасибо за помощь и ура,
Алекс