Управление шириной панелей в matplotlib с данными на месяц

Возможно ли, что состояние модели было обновлено с ошибкой? Я полагаю, что оно извлечет запрошенное значение из состояния модели, а не из данных представления или модели, если состояние модели недопустимо.

РЕДАКТИРОВАТЬ : Я включаю соответствующий раздел исходного кода из расширения TextArea HtmlHelper ниже. Мне кажется, что он делает именно то, что я ожидал - если произошла ошибка модели, он извлекает значение из состояния модели, в противном случае он использует его из ViewData. Обратите внимание, что в вашем методе Post ключ SomeText даже не должен существовать до тех пор, пока вы его не установите, то есть он не будет перенесен из версии кода, которая отвечает на GET.

Поскольку вы явно указываете значение для ViewData, useViewData должно быть ложным, attemptedValue должно быть ложным, если в состоянии модели не установлена ​​ошибка.

    // If there are any errors for a named field, we add the css attribute.
    ModelState modelState;
    if (htmlHelper.ViewData.ModelState.TryGetValue(name, out modelState)) {
        if (modelState.Errors.Count > 0) {
            tagBuilder.AddCssClass(HtmlHelper.ValidationInputCssClassName);
        }
    }

    // The first newline is always trimmed when a TextArea is rendered, so we add an extra one
    // in case the value being rendered is something like "\r\nHello".
    // The attempted value receives precedence over the explicitly supplied value parameter.
    string attemptedValue = (string)htmlHelper.GetModelStateValue(name, typeof(string));
    tagBuilder.SetInnerText(Environment.NewLine + (attemptedValue ?? ((useViewData) ? htmlHelper.EvalString(name) : value)));
    return tagBuilder.ToString(TagRenderMode.Normal);

12
задан Cœur 1 June 2018 в 02:39
поделиться

1 ответ

Просто используйте аргумент ключевого слова width :

bar(x, y, width=30)

Или, поскольку в разных месяцах разное количество дней, чтобы все выглядело хорошо, вы можете использовать последовательность:

bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30])
41
ответ дан 2 December 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: