>백엔드 개발 >파이썬 튜토리얼 >정의된 Matplotlib 하위 플롯 내에서 Seaborn 플롯을 플롯하는 방법은 무엇입니까?

정의된 Matplotlib 하위 플롯 내에서 Seaborn 플롯을 플롯하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-01 18:02:02384검색
How to Plot Seaborn Plots Within Defined Matplotlib Subplots? 
seaborn.distplot 지원 중단

버전 0.11 이전에는 seaborn.distplot 함수를 사용하여 다양한 종류의 플롯을 그렸습니다. 배포판. 이 함수는 seaborn 0.11에서 더 이상 사용되지 않습니다.

올바른 함수 찾기

ax 매개변수가 없는 모든 seaborn 함수의 경우 대신 사용할 수 있는 해당 축 수준 함수가 있습니다. . 올바른 함수를 찾으려면 그림 수준 플롯에 대한 seaborn 설명서를 참조하여 적절한 축 수준 플롯 함수를 찾을 수 있습니다.

다음은 도끼가 없는 그림 수준 플롯 목록입니다. 매개변수:
seaborn.distplot() has been DEPRECATED in seaborn 0.11 and is replaced with the following:

displot(), a figure-level function with a similar flexibility over the kind of plot to draw. This is a FacetGrid, and does not have the ax parameter, so it will not work with matplotlib.pyplot.subplots.

histplot(), an axes-level function for plotting histograms, including with kernel density smoothing. This does have the ax parameter, so it will work with matplotlib.pyplot.subplots.

relplot

displot

catplot
  • 같은 라인에 다른 플롯 그리기
  • 여기 이 경우 목표는 동일한 행에 두 개의 서로 다른 히스토그램을 그리는 것입니다. displot은 그림 수준 함수이고 ax 매개변수가 없으므로 matplotlib.pyplot.subplots와 함께 사용할 수 없습니다. 이 경우 사용할 올바른 함수는 ax 매개변수가 있는 축 수준 함수인 histplot입니다.
  • 다음은 histplot을 사용하여 동일한 행에 두 개의 서로 다른 히스토그램을 그리는 예입니다.

이렇게 하면 두 개의 히스토그램이 같은 행에 그려진 그림이 생성됩니다.

플로팅 여러 데이터 프레임의 다양한 플롯

여러 데이터 프레임이 있는 경우 pandas pd.concat을 사용하여 이를 결합한 다음 할당 방법을 사용하여 row=를 지정하는 데 사용할 수 있는 식별 '소스' 열을 생성할 수 있습니다. 또는 col= 또는 색조 매개변수
<code class="python">import seaborn as sns
import matplotlib.pyplot as plt

# load data
penguins = sns.load_dataset("penguins", cache=False)

# select the columns to be plotted
cols = ['bill_length_mm', 'bill_depth_mm']

# create the figure and axes
fig, axes = plt.subplots(1, 2)
axes = axes.ravel()  # flattening the array makes indexing easier

for col, ax in zip(cols, axes):
    sns.histplot(data=penguins[col], kde=True, stat='density', ax=ax)

fig.tight_layout()
plt.show()</code>

그런 다음 이 결합된 데이터프레임을 사용하여 다음을 사용하여 다양한 플롯을 그릴 수 있습니다. seaborn.

자세한 내용은 다음 리소스를 참조하세요.

<code class="python"># list of dataframe
lod = [df1, df2, df3]

# create one dataframe with a new 'source' column to use for row, col, or hue
df = pd.concat((d.assign(source=f'df{i}') for i, d in enumerate(lod, 1)), ignore_index=True)</code>
[Seaborn 문서](https://seaborn.pydata.org/)

[Plotting 서브플롯 Matplotlib](https://matplotlib.org/stable/tutorials/intermediate/subplots.html)

[Seaborn과 Pandas 통합](https://seaborn.pydata.org/tutorial/using_pandas.html)

위 내용은 정의된 Matplotlib 하위 플롯 내에서 Seaborn 플롯을 플롯하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.