Генерация соответствующих меток оси после преобразования журнала - PullRequest
1 голос
/ 18 марта 2020

Диаграмма рассеяния до преобразования выглядит следующим образом: enter image description here

После преобразования журнала: enter image description here

Я не могу понять Как разместить метки ytick на графике before-transform на графике after-transform, но при этом сохранить лог-преобразование. Вот код, который я попробовал:

plt.scatter(data=diamonds, x='carat', y='price')
tick_labels = [0, 2500, 5000, 7500, 10000, 12500, 15000, 17500, 20000]
plt.yscale('log')
plt.yticks(tick_labels);

Как мне сделать мой взгляд более понятным?

1 Ответ

1 голос
/ 18 марта 2020

Вы можете сохранить форматер в качестве скалярного тикера при настройке тиков с помощью видимых меток. Вы можете увидеть пример ниже.

import matplotlib.ticker 
# rest of your code
...
# get the current axes
ax = plt.gca()
#  y is log scaled 
ax.set_yscale('log')
# visible y labels
tick_labels = [0, 2500, 5000, 7500, 10000, 12500, 15000, 17500, 20000]
# set visible y labels
ax.set_yticks(tick_labels)
# adjust the formatter to be scalar
ax.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
...