Zorder не работает должным образом на нескольких графиках ошибок на одном рисункеPython

Программы на Python
Anonymous
Zorder не работает должным образом на нескольких графиках ошибок на одном рисунке

Сообщение Anonymous »

Я пытаюсь создать два линейных графика с полосой ошибок, используя основную и дополнительную оси 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 такое странное поведение. Я хочу построить линию панели ошибок таким образом, чтобы она не перекрывала маркеры ни на одном из линейных графиков. Любая помощь очень признательна. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ame-figure

Вернуться в «Python»