Я уверен, что для вас это тривиально. Я хотел бы иметь график подсчета морских волн с упорядоченными значениями x и значениями log y. Все работает, за исключением того, что когда я пытаюсь сделать set_yscale
, блоки диаграммы исчезают - все оси все еще окрашиваются, но данные в нем исчезают. вот мой код:
fig, ax = plt.pyplot.subplots(figsize=(18,14))
ax.set_yscale('log')
g = sns.countplot(x='country', data=dfn, ax=ax, order = dfn['country'].value_counts().index, palette=flatui)
Если я закомментирую ax.set_yscale('log')
, диаграмма появится снова. Как достичь логарифмической шкалы?
большое спасибо
редактировать согласно комментарию: вы можете воссоздать его, используя простой фрейм данных, например:
rand = [1,2,3,4,5]
country = ['PL', 'CZ', 'DE', 'CN', 'AN']
d = {'rand':rand,'country':country}
dfn = pd.DataFrame(d)
@DavidG Не уверен, как это увеличивает ценность, но я добавил инструкции о том, как создать фрейм данных
это добавляет ценность, потому что помогает людям попробовать ваш пример и, следовательно, более вероятно, что люди попытаются помочь, и, следовательно, с большей вероятностью вы получите решение
Кроме того, я не могу воспроизвести вашу ошибку. Вы используете последние версии matplotlib
/ seaborn
?
@tom достаточно честно. да - только что обновил и повторил попытку с той же ошибкой. Я использую seaborn 0.8.1, matplotlib 2.2.2, python 3.6.4 и jupyter lab
похоже, проблема лаборатории jupyter, она появляется без нее ... grml
Когда я использую ваш код с ax.set_yscale('log')
, я получаю это изображение: i.stack.imgur.com/cHI1I.png
Можете ли вы предоставить Минимальный, полный и проверяемый пример?