#python
#python
Вопрос:
Новичок в Python здесь. Я пытаюсь отобразить линейный график. Значения берутся из фрейма данных pandas df_CI. Я не могу понять, почему я получаю эту ошибку.
df_CI.index = df_CI.index.map(int) #change the index values of df_CI to type integer for plotting
df_CI.plot(kind='line')
plt.title('Immigrants from China and India')
plt.ylabel('Number of Immigrants')
plt.xlabel('Whatever')
plt.show()
Ошибка, которую я получаю,:
Ошибка типа: объект ‘str’ не вызывается.
Я не имею в виду что-либо, называемое «str». Отображается график, но не метки:
Комментарии:
1. Одна из вызываемых вами функций на самом деле представляет собой строку где-то. Используйте
type
, чтобы узнать, какой из них2. Эта ошибка бесполезна без фактической трассировки стека, строки или чего-либо еще. Пожалуйста, укажите полную ошибку, чтобы у нас действительно был шанс разобраться в проблеме.
3. @RandomDavis Я только что добавил скриншот, если это поможет
4. @Janet я знаю, к чему
plt
относится. Это то, что я имею в виду : Первая строка перезаписывает matplotlibtitle()
, устанавливая значениеplt.title
в строку. Вторая строка пытается вызватьplt.title()
как функцию, но это уже строка, поэтому ее нельзя вызвать. Убедитесь, что в вашем коде ранее не было строки, которая выполняла бы то, что я показал в строке 1.5. Можете ли вы выполнить
print(plt.title)
в своем ноутбуке, прежде чем делатьplt.title('...')
? Это должно печататься<function title at 0x.....>
, если все правильно. Если нет, он просто выведет значение строки, значение которойtitle
было установлено. Тогда нужно выяснить, где это происходит.