[파이썬] Seaborn 그래프 조합

Seaborn is a powerful Python library that allows for creating visually appealing and informative statistical graphics. One of the key features of Seaborn is its ability to easily combine multiple graphs into a single figure. In this blog post, we will explore different techniques for combining Seaborn graphs to create stunning visualizations.

Combining Multiple Graphs

When combining multiple graphs, we can use matplotlib to create a grid of subplots and then plot our Seaborn graphs on each individual subplot. This allows us to easily compare different visuals side by side. Let’s see how we can do this:

First, let’s import the necessary libraries:

import seaborn as sns
import matplotlib.pyplot as plt

Subplots with figsize

One way to combine Seaborn graphs is by using the plt.subplots() function from matplotlib. We can specify the number of rows and columns in the grid of subplots, and also set the figsize parameter to control the size of the overall figure. Here’s an example:

# Create a grid of subplots with 2 rows and 2 columns
fig, ax = plt.subplots(2, 2, figsize=(10, 8))

# Plotting Seaborn graphs on each subplot
sns.distplot(data['column1'], ax=ax[0, 0])  # Top left subplot
sns.boxplot(data['column2'], ax=ax[0, 1])   # Top right subplot
sns.lineplot(data['column3'], ax=ax[1, 0])  # Bottom left subplot
sns.scatterplot(data['column4'], ax=ax[1, 1]) # Bottom right subplot

# Add titles to subplots
ax[0, 0].set_title('Distribution Plot')
ax[0, 1].set_title('Box Plot')
ax[1, 0].set_title('Line Plot')
ax[1, 1].set_title('Scatter Plot')

# Remove excess space between subplots
plt.tight_layout()

# Display the combined figure
plt.show()

In the example above, we create a 2x2 grid of subplots using plt.subplots(2, 2). We then plot different Seaborn graphs on each subplot using the ax parameter. Finally, we add titles to each subplot using set_title() and display the combined figure using plt.show().

FacetGrid for Organized Subplots

Another way to combine Seaborn graphs is by using the FacetGrid function provided by Seaborn itself. The FacetGrid function allows us to create a grid of subplots based on categorical variables in our data. Here’s an example:

# Create a FacetGrid with 2 columns and 'category' as the row variable
g = sns.FacetGrid(data, col='category', height=4, aspect=1.2)

# Plotting Seaborn graphs on each subplot
g.map(sns.barplot, 'column1', 'column2')  # Bar plot
g.map(sns.pointplot, 'column1', 'column3')  # Point plot

# Add titles to subplots
g.axes[0, 0].set_title('Bar Plot')
g.axes[0, 1].set_title('Point Plot')

# Remove excess space between subplots
plt.tight_layout()

# Display the combined figure
plt.show()

In the example above, we create a FacetGrid using sns.FacetGrid(), specifying the dataset and the column to use for creating subplots. We then map different Seaborn graphs to each subplot using the map() function. Finally, we add titles to each subplot using set_title() and display the combined figure using plt.show().

Conclusion

Combining Seaborn graphs can greatly enhance data visualization and help in analyzing patterns and relationships. In this blog post, we explored two different techniques for combining Seaborn graphs: using subplots with figsize and using FacetGrid. Experiment with these techniques to create stunning visualizations that effectively communicate your data insights.