Я хочу построить некоторые данные x
и y
, в которых мне нужно, чтобы размер маркера зависел от третьего массива z
.Я мог бы построить их отдельно (то есть, разбросать x
и y
с size = z
, и панель ошибок без маркера, fmc = 'none'
), и это решает это.Проблема в том, что мне нужна легенда для отображения панели ошибок И точки вместе:
, а не
Здесь приведен код с некоторыми подготовленными данными:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1,10,100)
y = 2*x
yerr = np.random(0.5,1.0,100)
z = np.random(1,10,100)
fig, ax = plt.subplots()
plt.scatter(x, y, s=z, facecolors='', edgecolors='red', label='Scatter')
ax.errorbar(x, y, yerr=yerr, xerr=0, fmt='none', mfc='o', color='red', capthick=1, label='Error bar')
plt.legend()
plt.show()
, который выдает легенду, которую я хочу избежать:
In errorbar the argument
markersize does not accept arrays as
scatter` делает.