Я черчение данных из Словаря, который имеет три клавиши:Мессинг этикетка цвета в Matplotlib
[u'Ferronikel', u'Nicromo', u'Alambre_1']
И каждый из этого есть несколько Params как сопротивления, напряжение таких а как , так что я с помощью чтобы легко отображать значения.
def graficar_parametro(x,y):
d_unidades = {'I':'A','V':'V','R':'ohm','T':'C','P':'W/m'}
for alambre in sorted(alambres.keys()):
model = sklearn.linear_model.LinearRegression()
X = alambres[alambre]['mediciones'][x].reshape(-1, 1)
Y = alambres[alambre]['mediciones'][y].reshape(-1, 1)
model.fit(X,Y)
x_label = d_unidades[x]
y_label = d_unidades[y]
plt.legend(sorted(alambres.keys()))
plt.xlabel(x_label)
plt.ylabel(y_label)
plt.plot(X,Y,'8',
X, model.predict(X),'-')
plt.title('Heating wires')
plt.show()
Для построения графика напряжения против тока я бегу:
graficar_parametro('I','V')
И получил эти изображения:
Но цвета не так:
Синие точки соответствуют к «Alambre_1», что все хорошо, но желтые точки должны быть labe поскольку «Никромо» и ферроникель должны иметь красные точки не зеленую линию.
Я решил использовать sorted
, чтобы решить проблему, но это не исправить.
for alambre in sorted(alambres.keys()):
plt.legend(sorted(alambres.keys()))
что делает линию «» стоять в разделе»,? –
'plt.plot (X, model.predict (X), '-')' - массив с одним элементом Line2D. Вы просто распаковываете этот массив, так что 'line = Line2D.object'. –