заменить научную аббревиатуру единиц оси Y на строку - PullRequest
0 голосов
/ 14 мая 2018

Во-первых, я хотел бы извиниться, так как знаю, что неправильно задаю этот вопрос (вот почему я не могу найти то, что, вероятно, является простым ответом).

У меня есть график graph

Как вы можете видеть над осью y, он говорит 1e11, означая, что единицы измерения находятся в 100 миллиардах. Я хотел бы изменить график на 100 миллиардов вместо 1e11.

Я не уверен, что такое обозначение называется.

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

ax.get_yaxis().get_major_formatter().set_scientific(False)

приводит к enter image description here нежелательный результат

1 Ответ

0 голосов
/ 14 мая 2018
import numpy as np
from matplotlib.ticker import FuncFormatter

def billions(x, pos):
    return '$%1.1fB' % (x*1e-9)

formatter = FuncFormatter(billions)

ax.yaxis.set_major_formatter(formatter)

расположен от https://matplotlib.org/examples/pylab_examples/custom_ticker1.html

производит enter image description here

...