Matplotlib не печатает никаких графиков в Databricks?

#python #matplotlib #seaborn #azure-databricks

#python #matplotlib #сиборн #azure-databricks

Вопрос:

 %matplotlib inline
corr = df.corr()
f, ax = plt.subplots(figsize=(11, 9))
ax = sns.heatmap(
    corr, 
    vmin=-1, vmax=1, center=0,
    cmap=sns.diverging_palette(20, 220, n=500),
    linewidths=.50, 
    cbar_kws={"shrink": .7},
    square=True
)

ax.set_xticklabels(
    ax.get_xticklabels(),
    rotation=45,
    horizontalalignment='right'
);
plt.show()
  

Этот код не отображает никаких графиков в блоках данных Azure, только отображает

 <Figure size 1100x900 with 2 Axes>
  

в то время как тот же код работал нормально и отображал график corr ранее, не уверен, что здесь происходит не так.
Я получаю тот же результат, даже когда пытаюсь это сделать.

 mask = np.triu(np.ones_like(corr, dtype=bool))

f, ax = plt.subplots(figsize=(11, 9))

cmap = sns.diverging_palette(20, 220, as_cmap=True)

sns.heatmap(corr, mask=mask, cmap=cmap, vmax=0.3, center=0,
            square=True, linewidths=.1, cbar_kws={"shrink": .7})
plt.show()
  

Ответ №1:

Похоже, проблема с модулями matplotlib выше 3.3.0 .

Чтобы узнать точную причину, я бы посоветовал вам сообщить здесь: https://github.com/matplotlib/matplotlib/issues

Согласно тесту с нашей стороны, вы увидите следующее сообщение об ошибке с модулями matplotlib, приведенными выше 3.3.0 .

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

Если вы установили модули matplotlib выше 3.3.0 , я бы посоветовал вам использовать модули matplotlib ниже 3.2.2 .

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

После установки matplotlib==3.2.2 я могу успешно отобразить график.

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

Ответ №2:

Возможно, это связано с вашей средой выполнения Databricks https://docs.databricks.com/notebooks/visualizations/matplotlib.html

В качестве альтернативы попробуйте display(plt.show()) , если inline, похоже, не работает