Ошибка типа Python ‘объект str не вызывается’ при построении линейного графика

#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 относится. Это то, что я имею в виду : Первая строка перезаписывает matplotlib title() , устанавливая значение plt.title в строку. Вторая строка пытается вызвать plt.title() как функцию, но это уже строка, поэтому ее нельзя вызвать. Убедитесь, что в вашем коде ранее не было строки, которая выполняла бы то, что я показал в строке 1.

5. Можете ли вы выполнить print(plt.title) в своем ноутбуке, прежде чем делать plt.title('...') ? Это должно печататься <function title at 0x.....> , если все правильно. Если нет, он просто выведет значение строки, значение которой title было установлено. Тогда нужно выяснить, где это происходит.