Я пытаюсь создать два линейных графика с полосой ошибок, используя основную и дополнительную оси Y на одном рисунке. Я хочу построить линию панели ошибок таким образом, чтобы она не перекрывала маркеры на линейных графиках. zorder здесь не работает должным образом. Полоса ошибок, соответствующая вторичной оси Y, всегда перекрывает маркеры линейного графика основной оси Y, но обратное значение не отображается.
data = {
'A': [439, 1263, 1631, 2059],
'A-std': [255, 829, 1058, 1365],
'B': [0.16, 0.39, 0.47, 0.58],
'B-std': [0.11, 0.18, 0.19, 0.18]}
df = pd.DataFrame(data)
fig, ax = plt.subplots(figsize=(5.0,4.0))
ccn_plot = ax.errorbar(df.index, df[df.columns[0]],
yerr=df[df.columns[1]], label='Blue', color= 'blue',
linewidth=4.0, elinewidth=2.0, ls='solid', capsize =5.0, zorder = 0)
ax1 = ax.twinx()
## Plotting AF data on the secondary y-axis
af_plot = ax1.errorbar(df.index, df[df.columns[2]],
yerr=df[df.columns[3]], label = 'Red', color = 'red',
linewidth = 4.0, elinewidth=2.0, ls='solid', capsize =5.0, zorder = 0)
ax.scatter(df.index, df[df.columns[0]],
marker='s', s=50, c = 'blue',
edgecolors='black',
zorder=10)
ax1.scatter(df.index, df[df.columns[2]],
marker='o', s=50, c = 'red',
edgecolors='black',
zorder=10)
## Collect legend handles and labels from both axes
primary_handles, primary_labels = ax.get_legend_handles_labels() # from primary y-axes
sec_handles, sec_labels = ax1.get_legend_handles_labels() # from secondary y-axe
## Combine handles and labels
all_handles = primary_handles + sec_handles
all_labels = primary_labels + sec_labels
ax.legend(all_handles, all_labels)
ax.set_ylabel('Blue')
ax1.set_ylabel('Red')
Я не понимаю, почему отображается zorder такое странное поведение. Я хочу построить линию панели ошибок таким образом, чтобы она не перекрывала маркеры ни на одном из линейных графиков. Любая помощь очень признательна. Заранее спасибо.
Я пытаюсь создать два линейных графика с полосой ошибок, используя основную и дополнительную оси Y на одном рисунке. Я хочу построить линию панели ошибок таким образом, чтобы она не перекрывала маркеры на линейных графиках. zorder здесь не работает должным образом. [b]Полоса ошибок, соответствующая вторичной оси Y, всегда перекрывает маркеры линейного графика основной оси Y, но обратное значение не отображается.[/b] [code]data = { 'A': [439, 1263, 1631, 2059], 'A-std': [255, 829, 1058, 1365], 'B': [0.16, 0.39, 0.47, 0.58], 'B-std': [0.11, 0.18, 0.19, 0.18]}
ax1 = ax.twinx() ## Plotting AF data on the secondary y-axis af_plot = ax1.errorbar(df.index, df[df.columns[2]], yerr=df[df.columns[3]], label = 'Red', color = 'red', linewidth = 4.0, elinewidth=2.0, ls='solid', capsize =5.0, zorder = 0)
ax.scatter(df.index, df[df.columns[0]], marker='s', s=50, c = 'blue', edgecolors='black', zorder=10)
ax1.scatter(df.index, df[df.columns[2]], marker='o', s=50, c = 'red', edgecolors='black', zorder=10)
## Collect legend handles and labels from both axes primary_handles, primary_labels = ax.get_legend_handles_labels() # from primary y-axes sec_handles, sec_labels = ax1.get_legend_handles_labels() # from secondary y-axe
ax.set_ylabel('Blue') ax1.set_ylabel('Red') [/code] [img]https://i.sstatic.net/pvcGymfg.png[/img] Я не понимаю, почему отображается zorder такое странное поведение. [b]Я хочу построить линию панели ошибок таким образом, чтобы она не перекрывала маркеры ни на одном из линейных графиков.[/b] Любая помощь очень признательна. Заранее спасибо.
Добавление дополнительной информации в этот запрос: Моя проблема на самом деле возникает в моем рабочем процессе дальше, чем я думал, и возникает, когда я накладываю два файла Tiff с помощью Earthpy. Минимальный воспроизводимый пример...
Я хочу, чтобы мой основной график (точка, amp) располагался поверх вертикальных графиков. Я попытался изменить порядок в коде, поместив усилитель периода внизу, но это не сработало. Затем я попытался использовать zorder и увеличивать разницу между...
У меня есть несколько функций построения графиков, каждая из которых получает разные типы данных и отображает их со своим заголовком и легендами. Однако, когда я пытаюсь нанести их на одну и ту же фигуру, первая перезаписывается.
Я понимаю, что один...
Почему скрипт ниже не работает? Как я могу сопоставить диаграмму groupby и диаграмму DataFrame на одном рисунке?
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt