Как пометить и изменить масштаб осей Seaborn kdeplot

вот мой код

import numpy as np
from numpy.random import randn
import pandas as pd
from scipy import stats
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns


fig = sns.kdeplot(treze, shade=True, color=c1,cut =0, clip=(0,2000))
fig = sns.kdeplot(cjjardim, shade=True, color=c2,cut =0, clip=(0,2000))

fig.figure.suptitle("Plot", fontsize = 24)

plt.xlabel('Purchase amount', fontsize=18)
plt.ylabel('Distribution', fontsize=16)

, что приводит к следующему сюжету:

enter image description here

Я хочу сделать две вещи:

1) измените масштаб оси y, умножив ее значения на 10000 и, если это возможно, добавьте знак % к числам. Другими словами, Я хочу, чтобы значения оси y, показанные на приведенном выше графике, были 0%, 5%, 10%, 15%, 20%, 25%, и 30%.

2) Добавьте больше значений к оси x. Мне особенно интересно показать данные в интервалах 200. Другими словами, Я хочу, чтобы значения оси x, показанные на графике, были 0, 200, 400, 600... и так далее.

1 ответов


1) скорее всего, вы ищете комбинацию get_yticks () и set_yticks:

plt.yticks(fig.get_yticks(), fig.get_yticks() * 100)
plt.ylabel('Distribution [%]', fontsize=16)

Примечание: поскольку mwaskom комментирует раз 10000, а знак % математически неверен.

2) Вы можете указать, где вы хотите, чтобы ваши тики с помощью функции xticks. Тогда у вас будет больше ТИКов, и данные станут легче читать. Таким образом, вы не получите больше данных.

plt.xticks([0, 200, 400, 600])
plt.xlabel('Purchase amount', fontsize=18)

Примечание: Если вы хотите ограничить представление указанными x-значениями, вы можете даже взгляните на plt.xlim () и уменьшите цифру до интересного диапазона.