Как добавить yticks в одну конкретную точку в pyplot? - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть куча цифр (скажем, все меньше 500) и немного «inf» в моих данных.Я хочу построить их с помощью целых чисел (я представляю «inf» с 1000).Однако на оси Y графика я хочу написать «inf» вместо 1000. Если я использую «plt.yticks», я могу добавить метку ко всем точкам y, а это не то, что мне нужно.Как я могу добавить ярлык к одной конкретной точке?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вы можете переопределить как положение данных тиков, так и метки тиков.Вот пример точечной диаграммы с 3 дополнительными точками на «бесконечности».Выглядит не очень хорошо, потому что дополнительные очки равны 1000, а в пустом пространстве есть галочки.

from matplotlib import pyplot as plt
import numpy as np

# create some data, plot it.
x = np.random.random(size=300)
y = np.random.randint(0,500, 300)
x_inf = [0,.1,.2]
y_inf = [1000,1000,1000]

plt.scatter(x,y)
plt.scatter(x_inf, y_inf)

enter image description here

Сначала возьмитеось.Затем мы можем перезаписать, какие позиции данных должны иметь тики, в данном случае от 0 до 500 с шагом 100, а затем 1000. Затем мы можем также перезаписать метки самих тиков.

ax = plt.gca()
# set the positions where we want ticks to appear
ax.yaxis.set_ticks([0,100,200,300,400,500,1000])
# set what will actually be displayed at each tick.
ax.yaxis.set_ticklabels([0,100,200,300,400,500,'inf'])

enter image description here

0 голосов
/ 07 декабря 2018

Проверьте это:

plt.plot(np.arange(5), np.arange(5))
plt.yticks(np.arange(5), [200, 400, 600, 800, 'inf'])
plt.show()

enter image description here

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