programing

matplotlib 객체 지향 인터페이스를 사용하여 seaborn으로 플롯팅

megabox 2023. 11. 5. 11:08
반응형

matplotlib 객체 지향 인터페이스를 사용하여 seaborn으로 플롯팅

사용하는 것을 매우 선호합니다.matplotlibOOP 스타일:

f, axarr = plt.subplots(2, sharex=True)
axarr[0].plot(...)
axarr[1].plot(...)

이를 통해 여러 수치와 하위 그림을 더 쉽게 추적할 수 있습니다.

질문:.이렇게 해초를 사용하는 방법은?아니면 이 예제를 OOP 스타일로 변경하는 방법은 무엇입니까?구분하는 방법seaborn다음과 같은 함수를 표시합니다.lmplot어떤.Figure아니면Axes계획은?

어떤 바다본 기능을 쓰느냐에 따라 조금씩 다릅니다.

Seaborn의 플롯 함수는 크게 두 가지 유형으로 구분됩니다.

  • 다음을 포함한 "축 수준" 기능regplot,boxplot,kdeplot, 그 외 여러가지
  • 다음을 포함한 "수치 수준" 기능relplot,catplot,displot,pairplot,jointplot그 밖에 한두 명

첫번째 그룹은 명시적인 방법을 취함으로써 식별됩니다.ax논쟁하고 돌려주기Axes물건.이것이 시사하는 바와 같이, 당신은 그것들을 "객체 지향" 스타일로 사용할 수 있습니다.Axes그들에게:

f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)

축 수준 함수는 다음과 같은 위치에만 그려집니다.Axes피규어를 건드리는 일이 없기 때문에 오브젝트 중심의 매트플롯립 스크립트에서 완벽하게 행복하게 공존할 수 있습니다.

두 번째 함수 그룹(Figure-level)은 결과 그림에 항상 "의미 있는" 방식으로 구성되는 여러 축이 포함될 수 있다는 사실로 구별됩니다.즉, 함수가 그림을 완전히 제어할 수 있어야 하므로 그림을 그릴 수 없습니다.lmplot이미 존재하는 것에.함수를 호출하면 항상 그림을 초기화하고 그 그림에 대해 그림을 설정할 수 있습니다.

하지만, 일단 전화를 걸면lmplot, 유형의 개체를 반환합니다.이 개체에는 그림의 구조에 대해 조금이라도 알고 있는 결과 그림에 대해 작업할 수 있는 몇 가지 방법이 있습니다.또한 기본적인 그림과 축 배열을 노출합니다.FacetGrid.fig그리고.FacetGrid.axes논쟁. 그.jointplot기능은 매우 비슷하지만 물체를 사용합니다.따라서 이러한 기능을 객체 지향적인 맥락에서 사용할 수 있지만, 모든 사용자 지정은 기능을 호출한 후에 이루어져야 합니다.

언급URL : https://stackoverflow.com/questions/23969619/plotting-with-seaborn-using-the-matplotlib-object-oriented-interface

반응형