Pandas Dataframe Boxplot Ось Y неверный масштаб - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь использовать функцию boxplot в Pandas Dataframe, но некоторые из моих функций имеют другой масштаб, чем другие, из-за чего диаграммы выглядят плохо, невозможно прочитать значения Y самых маленьких.

Вот мой код:

df.boxplot(by='label', figsize=(30,30))

И я получаю сетку из 4 на 4 диаграммы с 4 метками для каждой, что правильно.

Однако шкала отрегулирована длясамые большие значения не индивидуально на графиках.

Есть ли способ решить эту проблему?Спасибо !

Обновление:

Вот кое-что, что я попробовал:

charts = df.boxplot(by='label', figsize=(30,30), return_type='axes')

for ax in charts:
   y_axe_name = ax.get_title()
   min_value = all_data[y_axe_name].min()
   max_value = all_data[y_axe_name].max()
   ax.set_ylim(0, max_value + (20 * max_value / 100))

plt.show()

Я был вдохновлен Установить масштаб по оси Y для панд DataframeBoxplot (), 3 отклонения? но все равно не работает.Графики по-прежнему имеют одни и те же оси Y.

1 Ответ

0 голосов
/ 04 февраля 2019

Лучший обходной путь, который я нашел, - это нормализация набора данных:

def normalized(df, column_name):
  df[column_name].fillna(value=0, inplace=True)
  df[column_name] = df[column_name] / df[column_name].max()
  return df

Таким образом, шкала y находится в диапазоне от 0 до 1.

...