Как установить порядок по оси в matplotlib ⇐ Python
-
Anonymous
Как установить порядок по оси в matplotlib
Я хочу создать график, содержащий столбцы, значения столбцов, отмеченные над ними, и линию на вторичной оси, но я не могу настроить порядок элементов так, как я хочу, где столбцы будут самый дальний элемент, за которым следует линия, а затем текст, но пока я могу изменить только положение всей оси, и линия либо проходит над текстом, либо оказывается за решеткой.
импортировать matplotlib.pyplot как plt импортировать seaborn как sns годы = [2019, 2020, 2021, 2022, 2023] значения1 = [1350, 1360, 1420, 1480, 1650] значения2 = [57, 62, 60,5, 59,7, 62,3] рис, топор = plt.subplots(figsize=(6.2, 7.36), dpi = 150) бары = ax.bar(годы, значения1) высоты = [] для бара в барах: bar.set_zorder(2) высота = bar.get_height() heights.append(высота) ax.annotate('{}'.format(round(height, 1)), xy=(bar.get_x() + bar.get_width() / 2, высота), xytext=(0, 10), # вертикальное смещение на 3 точки textcoords="точки смещения", ха='центр', va='дно', размер шрифта = 20).set_zorder(1) топор2 = топор.twinx() lineplot = sns.lineplot(x = годы, y = значения2, ax = ax2, color="gray") график, который создает код: график с линией в виде текстовой аннотации
Я пробовал менять порядок по обеим осям и непосредственно на графиках
Я хочу создать график, содержащий столбцы, значения столбцов, отмеченные над ними, и линию на вторичной оси, но я не могу настроить порядок элементов так, как я хочу, где столбцы будут самый дальний элемент, за которым следует линия, а затем текст, но пока я могу изменить только положение всей оси, и линия либо проходит над текстом, либо оказывается за решеткой.
импортировать matplotlib.pyplot как plt импортировать seaborn как sns годы = [2019, 2020, 2021, 2022, 2023] значения1 = [1350, 1360, 1420, 1480, 1650] значения2 = [57, 62, 60,5, 59,7, 62,3] рис, топор = plt.subplots(figsize=(6.2, 7.36), dpi = 150) бары = ax.bar(годы, значения1) высоты = [] для бара в барах: bar.set_zorder(2) высота = bar.get_height() heights.append(высота) ax.annotate('{}'.format(round(height, 1)), xy=(bar.get_x() + bar.get_width() / 2, высота), xytext=(0, 10), # вертикальное смещение на 3 точки textcoords="точки смещения", ха='центр', va='дно', размер шрифта = 20).set_zorder(1) топор2 = топор.twinx() lineplot = sns.lineplot(x = годы, y = значения2, ax = ax2, color="gray") график, который создает код: график с линией в виде текстовой аннотации
Я пробовал менять порядок по обеим осям и непосредственно на графиках
Мобильная версия