Что именно является параметром ticks для функций yticks / xticks в matplotlib? - PullRequest
0 голосов
/ 16 апреля 2020

Что я должен передать в качестве параметра ticks функции yticks? в matplotlib я не знаю, должен ли я передавать местоположения (индексы в y arr) или значения для y-тиков, документация описывает это как:

Список позиций, в которые следует ставить тики

Для этой программы:

import numpy as np
import matplotlib.pyplot as plt

x = [0,5,9,10,15]
y = ["a","ab","abc","ab","abcd"]

plt.plot(x,y)
plt.show()

Если я добавлю plt.xticks([0, 2, 3]), я получу тики со значениями: a, ab c, abcd. Что я не понимаю, так это почему тики не являются: a, ab c, ab (местоположения в массиве y)? Тем не менее, я заметил, что, когда вейлы в y - это разные места, работают как положено.

Но когда я делаю plt.xticks(['as', 'ab', 'acs']), я получаю тики, как и ожидалось (как ab acs).

Так должен ли я использовать этот параметр tick в качестве местоположения или значения?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Потому что когда y = ["a", "ab", "ab c", "ab", "abcd"], то галочки на самом деле являются ["a", "ab", "ab c», "ABCD"]. Обратите внимание, что раньше было два "ab", но теперь только один "ab" .

Теперь, когда вы говорите plt.yticks ([0, 2, 3]), он выбирает «a» (индекс 0), «ab c» (индекс 2), «abcd» (индекс 3 ) из ["a", "ab", "ab c", "abcd"]

0 голосов
/ 16 апреля 2020

Как вы обнаружили, если это список чисел, он будет интерпретироваться как положение тиков (не индекс или что-то еще), а если это список строк, он будет интерпретироваться как имя клещи. Подробнее здесь .

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