Почему я получаю эту ошибку matplotlib для построения категориальной переменной?

#python #matplotlib

#python #matplotlib

Вопрос:

Я чувствую себя глупо, но, похоже, я не могу исправить эту ошибку или найти какое-либо решение в Интернете. Почему я продолжаю получать следующую ошибку независимо от того, как я пытаюсь отобразить ее с помощью matplotlib?

Например, даже следующий код выдает мне ту же ошибку —

 names = list(fig1['day'])
values = list(fig1['count'])
fig, axs = plt.subplots(figsize=(25, 10))
axs.bar(names, values, color='plum')
 

matplotlib.category: использование категориальных единиц для построения списка строк, которые можно анализировать как значения с плавающей запятой или даты. Если эти строки должны быть отображены как числа, приведите их к соответствующему типу данных перед построением графика.

введите описание изображения здесь

ОБНОВЛЕНИЕ: я нашел решение — https://discourse.matplotlib.org/t/why-am-i-getting-this-matplotlib-error-for-plotting-a-categorical-variable/21758/2

Комментарии:

1. Для меня это выглядит скорее предупреждением, чем ошибкой. В конце ваш график рисуется. Если вы ожидаете чего-то другого, пожалуйста, сообщите нам ваш ожидаемый результат.

2. Так в чем проблема? Вы хотите, чтобы дни отображались по порядку или что?

3. Как я могу скрыть предупреждения? warnings.filterwarnings("ignore") не сработало.

4. Вы уверены, что предупреждения исходят именно из этого кода? Я не могу их воспроизвести. Вы используете последнюю версию matplotlib? Может быть, вы могли бы создать небольшой игрушечный фрейм данных, чтобы другие люди могли запускать код как есть? Не могли бы вы добавить вывод fig1.info() , чтобы показать точные типы столбцов?

5.@JohanC Спасибо за ответ. Вот выходной - <class 'pandas.core.frame.DataFrame'>`` RangeIndex: 7 записей, от 0 до 6 ` Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 day 7 non-null object 1 count 7 non-null int64 dtypes: int64(1), object(1) memory usage: 240.0 bytes