У меня есть фрейм данных со многими столбцами и данными, приведенными ниже:
rse_df
Vstart=29V Vend=37V ... Vstart=36V Vend=37V
0 4.174279 1.0 ... 0.517509 1.0
1 4.032258 1.5 ... NaN NaN
2 3.509288 2.0 ... NaN NaN
3 3.091149 2.5 ... NaN NaN
4 2.746441 3.0 ... NaN NaN
5 2.439879 3.5 ... NaN NaN
6 2.305721 4.0 ... NaN NaN
7 2.057234 4.5 ... NaN NaN
8 1.826651 5.0 ... NaN NaN
9 1.634388 5.5 ... NaN NaN
10 1.479945 6.0 ... NaN NaN
11 1.347369 6.5 ... NaN NaN
12 1.238585 7.0 ... NaN NaN
13 1.106522 7.5 ... NaN NaN
14 0.990119 8.0 ... NaN NaN
Я составил график, и результат приведен ниже:
В сюжете-легенде все представлены неправильно. Если вы видите первую метку «Vstart = 29V» в сюжете-легенде, она неправильно представлена. В кадре данных данные столбца «Vstart = 29V» представлены в верхней строке розовым цветом, но легенда говорит о синем цвете, что неправильно. Похоже, что-то здесь не так.
Мой код:
plt.plot(rse_df[rse_df.columns[1::2].values],rse_df[rse_df.columns[0::2].values],'-o',markerfacecolor='none')
plt.legend(rse_df.columns[0::2].values.tolist(),fontsize=8,ncol=1)
что не так в приведенном выше коде, вызывая это неправильное выравнивание?
Approach1:
sns.lineplot(x=rse_df[rse_df.columns[1::2].values],y=rse_df[rse_df.columns[0::2].values], markers=True)
plt.show()
Вывод:
raise ValueError('If using all scalar values, you must pass'
ValueError: If using all scalar values, you must pass an index