Построение линейного графика на графике рассеяния - PullRequest
3 голосов
/ 15 марта 2019

Я знаю, как построить линейный график поверх точечной диаграммы тех же данных, но есть ли способ вывести линейный график вперед, чтобы он располагался поверх маркеров, а не позади?

Пример кода:

import numpy as np

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])

plt.errorbar(x,y,xerr=0.1,yerr=0.1, fmt="x",markersize=5, color = "orange")
plt.plot(x,y)

Этот код выводит график рассеяния с линейным графиком позади него.Когда вы увеличиваете количество точек данных, становится все труднее увидеть линию позади них всех.Кроме уменьшения размера маркера, могу ли я поставить линию поверх всех точек?

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Вы можете использовать опцию barsabove=True. Это помещает панели ошибок над маркерами, и строка отображается в верхней части панелей ошибок и маркеров. Чтобы выделить этот эффект, я использую толстую панель ошибок. Как вы можете видеть, синяя линия лежит над барами ошибок и маркерами. Используйте barsabove=False (значение по умолчанию), чтобы увидеть разницу.

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])

plt.errorbar(x,y,xerr=0.1,yerr=0.1, linewidth=10, fmt="x",markersize=5, color = "orange", barsabove=True)
plt.plot(x,y)

enter image description here

0 голосов
/ 15 марта 2019

Я думаю, вы собираетесь рисовать на экране разные уровни z-порядка. Это делается так:

plt.plot(x,y, zorder=10)

Примечание 10 - произвольно большое, и, вероятно, оно будет отображаться поверх легенды, поэтому вам, возможно, придется его настроить!

...