Jupyter: Для парного участка Seaborn сложно установить размеры графика?

1

Я пытался создать двумерную диаграмму рассеяния каждой переменной на фоне всех остальных, находящихся в кадре данных, и обнаружил, что sns.pairplot() - это именно то, что мне нужно.

Однако, независимо от того, что я делаю (и я попробовал все советы, найденные в этом вопросе), сюжеты продолжают выходить слишком разбросанными, а также в целом слишком большими. На рисунке ниже только первые две строки и четыре столбца из 12 переменных отображаются на весь мой экран.

Изображение 174551

Я узнал, что мое использование

%config InlineBackend.figure_format = 'svg'

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

(примечание: дополнительные опции ниже не действуют)

Изображение 174551

Как я могу сделать сетку графиков настраиваемой как в общем размере, так и в интервале? В настоящее время никакие опции не работают, и один графический бэкэнд (по умолчанию) создает слишком маленькие графики, в то время 'svg' бэкэнд 'svg' создает слишком большие графики.

РЕДАКТИРОВАТЬ: редактирование sns.set(rc={'figure.figsize':(x,y)}) или параметры height/aspect ничего не улучшают: первый не производит изменений, а два последних изменяют размер отдельных графиков ( с height=1 что делает их неразборчивыми), но общая "сетка" все еще такая же громоздкая и чрезмерно большая, как и раньше.

  • 0
    использование sns.set(rc={'figure.figsize':(x,y)}) не влияет на вывод?
  • 1
    Вы пытались изменить аргумент height в pairplot ? Изменение этого в сочетании с aspect должно изменить размер отдельных участков. Документация
Показать ещё 1 комментарий
Теги:
matplotlib
jupyter-notebook
graph
seaborn

1 ответ

0

По сути, вы спрашиваете, как отобразить рисунок в исходном размере в блокноте Jupyter.
Это означает, как добавлять полосы прокрутки, если они превышают пространство, заданное макетом выходной ячейки.

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

%matplotlib inline

# Cell2
from IPython.display import display, HTML
CSS = """div.output_area img {max-width:None !important;max-height: None !important";}"""
display(HTML('<style>{}</style>'.format(CSS)))

# Cell3
import matplotlib.pyplot as plt
fig, ax = plt.subplots(ncols=8, figsize=(20,10))

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню