Визуализация искаженных данных - PullRequest
0 голосов
/ 13 февраля 2020

В следующих строках кода показан график, но он смещен влево.

sns.distplot(fraud_false['Amount'],
             hist=False, color='darkblue',
             kde_kws = {'shade': True, 'linewidth': 3})

sns.distplot(fraud_true['Amount'],
             hist=False, color='darkred',
             kde_kws = {'shade': True, 'linewidth': 3})

plt.title('Density Plot')
plt.xlabel('Amount')
plt.ylabel('Density')

Сбор данных приводит к нормальному распределению. Но как взять исходные значения данных по оси х графика вместо этих новых значений журнала?

1 Ответ

0 голосов
/ 13 февраля 2020

Надеюсь, я правильно понял ваш вопрос:

Вы можете либо масштабировать всю свою ось. Это приведет к тому, что ваши корзины в distplot также будут масштабированы. Кроме того, вы можете преобразовывать данные в журнал и обновлять ваши xticks, чтобы отразить масштаб вашей оси. Ниже показано это на примере.

from scipy.stats import skewnorm
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sbs

fig, ax = plt.subplots(1, 3, figsize=(10, 5))
data = skewnorm.rvs(size=1000, a=5)
sbs.distplot(data, ax=ax[0])
sbs.distplot(data, ax=ax[1])
ax[1].set_xscale("log")
sbs.distplot(np.log(data), ax=ax[2])
ax[2].set_xticklabels([round(d, 1) for d in np.exp(ax[2].get_xticks())]);

enter image description here

...