Как показать отметки осей, соответствующие нанесенным точкам данных на графике морского побережья? - PullRequest
1 голос
/ 26 марта 2020

Я использую seaborn для построения числовых значений. Но каждое из этих чисел соответствует текстовому значению, и я хочу, чтобы эти текстовые значения отображались на осях. Как, если числовые значения прогрессируют как 0, 5, 10, ..., 30; каждое из этих закодированных номеров должно быть связано с текстовым описанием. Как я могу это сделать?

1 Ответ

1 голос
/ 26 марта 2020

Основная точка:

Использование:

ax = plt.gca()
ax.set_xticks([<the x components of your datapoints>]);
ax.set_yticks([<the y components of your datapoints>]);

Более подробная версия ниже.


Вы можете go вернуться к matplotlib и он сделает это за вас.

Допустим, вы хотите построить [0, 7, 14 ... 35] против [0, 2, 4, ... 10]. Два массива могут быть созданы:

stepy=7
stepx=2
[stepy*y for y in range(6)]

(возвращая [0, 7, 14, 21, 28, 35]) и [stepx * x для x в диапазоне (6)] (возвращая [0 , 2, 4, 6, 8, 10]).

Постройте их с помощью морского происхождения:

sns.scatterplot([stepx*x for x in range(6)],[stepy*y for y in range(6)]).

Приведите текущую ось к matplotlib с помощью ax = plt.gca(), fini sh с использованием set_xticks и set_yticks :

ax.set_xticks([stepx*x for x in range(6)]);
ax.set_yticks([stepy*y for y in range(6)]);

Весь код вместе:

stepy=7
stepx=2

sns.scatterplot([stepx*x for x in range(6)],[stepy*y for y in range(6)])
ax = plt.gca()
ax.set_xticks([stepx*x for x in range(6)]);
ax.set_yticks([stepy*y for y in range(6)]);

Выход на участок:

enter image description here


Я изменил пример в OP, потому что с этими числами на графике графики уже ведут себя как нужно.

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