Как расширить или "увеличить" фигуру pandas plot ()?

Я рисую с помощью функций pandas plot () следующим образом:

В:

from matplotlib.pyplot import *
from datetime import date
import matplotlib.dates as mdates
import matplotlib.pyplot as plt

fig, ax = subplots()
df['session_duration_seconds'].sort_index().value_counts().plot(figsize=(25,10), fontsize=24)
ax.legend(['session_duration_seconds'],fontsize=22)
ax.set_xlabel("Title", fontsize=22)
ax.set_ylabel("Title", fontsize=22)
ax.grid()

Однако мой сюжет выглядит очень «позади». Я хотел бы расширить сюжет, чтобы более подробно показать следующий участок рисунка:

Вне:

enter image description here

Таким образом, мой вопрос в том, как я могу расширить или приблизиться к графику панд над этой частью изображения?

Вы пытаетесь просмотреть его во встроенном Jupyter или в IDE и сохранить файл?

It_is_Chris 10.08.2018 15:01

по сути два варианта: 1. масштабировать оси. 2. используйте ylim, установите его, возможно, на 100, тогда вы потеряете немного информации, но получите более подробную информацию о других значениях.

Quickbeam2k1 10.08.2018 15:02

Стандартный способ увеличить график - просмотреть данные перед построением, например: df.loc[df['session_duration_seconds']<200]

ysearka 10.08.2018 15:02

@ Quickbeam2k1 не могли бы вы привести пример?

anon 10.08.2018 15:10

@Chris im в jupyter

anon 10.08.2018 15:10

@ysearka, не могли бы вы привести пример?

anon 10.08.2018 15:11

@anon Чтобы люди могли предоставить примеры, вам следует подумать о добавлении образца данных в свой вопрос, чтобы другим было легче ответить. См. stackoverflow.com/help/mcve для получения дополнительной информации.

ysearka 10.08.2018 15:16
1
7
6 391
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто пример, чтобы показать, как это может работать:

df = pd.DataFrame({'Values': [1000, 1, 2, 3 , 4 , 2, 5]})
df.plot()

enter image description here

Теперь давайте ограничим диапазон y

import matplotlib.pyplot as plt
df.plot()
plt.ylim(0, 10)

enter image description here

и мы видим детали кривой.

Обратите внимание, что кривая настолько крутая около 0 из-за огромного наклона, вызванного первым значением y, равным 1000.

Также вы можете просто масштабировать ось Y непосредственно в функциях pandas plot:

df.plot(logy=True)

enter image description here

Спасибо за помощь!

anon 10.08.2018 15:20

Чтобы получить больше деталей, просто масштабируйте ось y. См. Мой отредактированный ответ ниже. Однако это не тот масштаб, который вам хотелось бы иметь. Но я бы предположил, что это невозможно в matplotlib. Возможно, понадобится какой-то java-скрипт или около того

Quickbeam2k1 10.08.2018 15:22

Другие вопросы по теме