해저 플롯이 표시되지 않음
내가 아주 간단한 것을 잊어버리고 있는 것은 확실하지만, 시본과 함께 일하기 위한 어떤 음모를 꾸밀 수는 없다.
다음 작업을 수행할 경우:
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
'IT이야기' 카테고리의 다른 글
Vue.js - 속성을 통해 구성 요소에 대해 여러 값(어레이)을 설정하는 방법 (0) | 2022.04.02 |
---|---|
Vuex + vue-roouter에서 중앙 집중화된 상태로 분리된 구성 요소 (0) | 2022.04.01 |
v-data-table에 클릭 이벤트를 추가하는 방법 (0) | 2022.04.01 |
python Simple을 실행할 수 있는가?로컬 호스트에서만 HTTPServer를 사용하시겠습니까? (0) | 2022.04.01 |
순차적으로 관찰 가능성과 하나의 결과 도출 (0) | 2022.04.01 |