Как отформатировать стиль номера галочки? - PullRequest
1 голос
/ 13 апреля 2019

Как использовать числовой формат, например, x0,00%, для метки числового значения на метке тика Matplotlib по оси x или y?Например, я хотел бы, чтобы число 0,00125 отображалось как метка 0,125%.Я строю гистограммы с 1, 2 и 3 сигмами дневной доходности акций.Обычно значения находятся в диапазоне менее 1,00%, но иногда могут составлять> 10,0000% для +/- 3 сигма.Поэтому у меня будут ярлыки размером от 0,0010% до 10,0000%.Да, хвосты толстые;акции торгуются тонко;или происходит сбой флэш-памяти / восстановление.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 13 апреля 2019

Вы можете использовать matplotlib.ticker, который поможет вам отформатировать каждый тик. В этом примере кода я округлил каждое значение до трех десятичных знаков и заменил знак минуса на тот, который мне нужен.

Вы можете добавить условные операторы для разных значений x или y и указать, какой тикер вы хотите!

import matplotlib.ticker as ticker

@ticker.FuncFormatter
def major_formatter(y, pos):
    label = "-" + str(-round(y, 3)) if y < 0 else str(round(y, 3))
    return label

ax.yaxis.set_major_formatter(major_formatter)

@ticker.FuncFormatter
def major_formatter(x, pos):
    label = "-" + str(-round(x, 3)) if x < 0 else str(round(x, 3))
    return label

ax.xaxis.set_major_formatter(major_formatter)

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