После ссылки, предоставленной @StefanS, я придумал следующий способ регистрации моего собственного cmap, используя в моем случае медиану:
median = df.median().median()/100.0
c_red_yl_ = {'red': ((0.0, 0.8, 0.8),
(median, 1.0, 1.0),
(1.0, 0.0, 0.0)),
'green': ((0.0, 0.0, 0.0),
(median, 1.0, 1.0),
(1.0, 0.8, 0.8)),
'blue': ((0.0, 0.0, 0.0),
(median, 0.0, 0.0),
(1.0, 0.0, 0.0))
}
plt.register_cmap(name='custom', data=cdict1)
Надеюсь, что это полезно для кого-то еще.
Чтобы обновить значение ModelState
, сначала необходимо сбросить ModelState
следующим образом:
// if only str is provided
if (string.IsNullOrEmpty(item.KeyInfo) && !string.IsNullOrEmpty(str))
{
ModelState.Clear();
Helpers.FillItemModel(item, str); //fill data
}
ModelState.Clear()
сбросит всю модель. Если вы не хотите этого и просто хотите обновить значение нескольких полей, оставив неизменным значение другого поля, используйте ModelState["fieldName"].Value = "newValue
в своем классе помощника.