Python errorbar с различным размером маркера - PullRequest
0 голосов
/ 16 мая 2018

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

ax.errorbar(x,y,xerr=[xlow,xup],yerr=[ylow,yup],color='r',ls='None',marker='o',markersize=5.)

Если я создаю размер маркера, равный 5.0*y, как я могу заставить его работать?

1 Ответ

0 голосов
/ 16 мая 2018

Почему бы вам не нарисовать полосы ошибок и маркеры отдельно?

import matplotlib.pyplot as plt
import numpy as np

#create x and y values
xval = np.arange(1,10)
yval = np.square(xval)
#define error bars and markersize
yerrmi = np.abs(np.cos(xval) * xval)
yerrpl = np.abs(np.sin(xval) * xval)
yerr = np.stack([yerrpl, yerrmi])
markerpl = 5 * yval

#plot error bars
plt.errorbar(xval, yval, yerr = yerr, ls = "None", color = "r")
#plot scatter plot
plt.scatter(xval, yval, s = 5 * yval, marker = "h", color = "r")

plt.show()

Вывод:

enter image description here

...