IT이야기

해저 플롯이 표시되지 않음

cyworld 2022. 4. 1. 22:18
반응형

해저 플롯이 표시되지 않음

내가 아주 간단한 것을 잊어버리고 있는 것은 확실하지만, 시본과 함께 일하기 위한 어떤 음모를 꾸밀 수는 없다.

다음 작업을 수행할 경우:

import seaborn as sns

그런 다음 매트릭리브(matplotlib)를 사용하여 평소와 같이 만드는 모든 플롯은 (회색 그리드를 배경으로) Seaborn 스타일링을 얻는다.

그러나 다음과 같은 예시 중 하나를 하려고 하면 다음과 같다.

In [1]: import seaborn as sns

In [2]: sns.set()

In [3]: df = sns.load_dataset('iris')

In [4]: sns.pairplot(df, hue='species', size=2.5)
Out[4]: <seaborn.axisgrid.PairGrid at 0x3e59150>

페어플롯 함수는 페어그리드 객체를 반환하지만 플롯이 표시되지 않는다.

매트릭리브가 제 기능을 하는 것 같고, 다른 매트릭리브 플롯에는 시본 스타일이 적용되지만 시본 함수는 아무 것도 하지 않는 것 같아 조금 혼란스럽다.뭐가 문제인지 아는 사람 있어?

바닷모양을 사용하여 작성된 플롯은 일반적인 매트릭스리브 플롯처럼 표시되어야 한다.이 작업은 다음을 사용하여 수행할 수 있다.

plt.show()

매트릭스립에서 함수하다

원래 나는 이미 바다오른에서 가져온 매트플리브 객체를 사용하기 위한 솔루션을 게시했다.sns.plt.show()) 그러나 이것은 나쁜 관행으로 간주된다.따라서 매트릭리브를 직접 가져오기만 하면 된다.피플롯 모듈 및 그림 표시

import matplotlib.pyplot as plt
plt.show()

IPython 노트북을 사용하는 경우 인라인 백엔드를 호출하여 각 플롯 후에 쇼를 호출할 필요가 없도록 할 수 있다.각각의 마법은

%matplotlib inline

나는 꽤 규칙적으로 이 질문을 하게 되고 내가 검색하는 것을 찾는데 항상 시간이 걸린다.

import seaborn as sns
import matplotlib.pyplot as plt

plt.show()  # <--- This is what you are looking for

참고:파이톤 2에서는, 당신은 또한 사용할 수 있다.sns.plt.show(), 그러나 파이썬 3에서는 아니다.

전체 예제

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""Visualize C_0.99 for all languages except the 10 with most characters."""

import seaborn as sns
import matplotlib.pyplot as plt

l = [41, 44, 46, 46, 47, 47, 48, 48, 49, 51, 52, 53, 53, 53, 53, 55, 55, 55,
     55, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58,
     58, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 61,
     61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62,
     62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 65,
     65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66,
     67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 69, 69, 69, 70, 70,
     70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73,
     74, 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 79, 79, 79, 80,
     80, 80, 80, 81, 81, 81, 81, 83, 84, 84, 85, 86, 86, 86, 86, 87, 87, 87,
     87, 87, 88, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 92,
     92, 93, 93, 93, 94, 95, 95, 96, 98, 98, 99, 100, 102, 104, 105, 107, 108,
     109, 110, 110, 113, 113, 115, 116, 118, 119, 121]

sns.distplot(l, kde=True, rug=False)

plt.show()

주다

여기에 이미지 설명을 입력하십시오.

혼란을 피하기 위해(댓글에 일부 있는 것 같기 때문에)주피터에 있다고 가정하면:

%matplotlib inline> 노트북 내부 플롯을 표시한다.

sns.plt.show()> 노트의 OUTHER를 표시한다.

%matplotlib inline오버라이드 sns.plt.show()다음에도 플롯이 노트북에 표시된다는 의미에서sns.plt.show()라고 불린다.

또한 구성에 라인을 포함하기가 쉽다.

IPython 노트북에서 %matplotlib 인라인 자동 실행

그러나 실제 코드로 수입과 함께 유지하는 것이 더 나은 관례처럼 보인다.

이것은 나에게 효과가 있었다.

import matplotlib.pyplot as plt
import seaborn as sns
.
.
.
plt.show(sns)

IPython 콘솔(사용할 수 없는 위치)에서 플롯하는 경우%matplotlib inline)는 주피터 공책 대신, 그리고 달리고 싶지 않다.plt.show()반복적으로 IPython 콘솔을 시작할 수 있음ipython --pylab:

$ ipython --pylab     
Python 3.6.6 |Anaconda custom (64-bit)| (default, Jun 28 2018, 17:14:51) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.
Using matplotlib backend: Qt5Agg

In [1]: import seaborn as sns

In [2]: tips = sns.load_dataset("tips")

In [3]: sns.relplot(x="total_bill", y="tip", data=tips) # you can see the plot now

제 조언은 단지

plt.figure()sns 줄거리도 좀 주고.예를 들면

sns.distplot(data).

비록 어떤 줄거리도 보이지 않을 것 같지만, 여러분이 수치를 최대화하면, 여러분은 줄거리를 볼 수치로 표현하면 줄거리를 알 수 있을 것이다.

코드 조각의 스타일을 보면 주피터 노트북보다는 IPython을 사용하고 있었던 것 같다.

GitHub에 관한 이번 에서는 2016년 IPython의 한 멤버에 의해 차트 표시가 "주피터 커널일 때만 작동한다"는 것이 명확히 되었다.그러므로, 더%matplotlib inline먹히지 않을 것이다.

난 그냥 같은 문제를 겪고 있었는데, 시각화를 위해 주피터 노트북을 사용하자고 제안했어.

만약g facet.grid 객체inda dadaughdohdoes를 해 보십시오.g.fig음모를 꾸미다

참조URL: https://stackoverflow.com/questions/26597116/seaborn-plots-not-showing-up

반응형