Несовместимые десятичные знаки в метках тиков при использовании оси журнала - PullRequest
2 голосов
/ 11 апреля 2019

Я пытаюсь создать график с меткой оси y и целочисленными тиковыми метками, но в лучшем случае получаю непоследовательные десятичные дроби.

Самый простой подход дает научную запись:

import matplotlib as mpl
import matplotlib.pyplot as plt

vals = [10, 20, 30]

plt.scatter(vals, vals)
ax = plt.gca()
ax.set_yscale('log')

First graph

Установка основного форматера оси в скаляры все еще дает некоторые научные обозначения:

ax.yaxis.set_major_formatter(mpl.ticker.ScalarFormatter())

Second graph

И установка минорного форматера поверх него удаляет научную запись, но оставляет непоследовательные десятичные дроби:

ax.yaxis.set_minor_formatter(mpl.ticker.ScalarFormatter())

Graph 3

Как я могуполучить все целочисленные метки?

1 Ответ

1 голос
/ 11 апреля 2019

Например, вы можете использовать StrMethodFormatter с питоном g в формате:

fmt = mpl.ticker.StrMethodFormatter("{x:g}")
ax.yaxis.set_major_formatter(fmt)
ax.yaxis.set_minor_formatter(fmt)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...