📜  如何在 Seaborn 中创建面积图?

📅  最后修改于: 2022-05-13 01:54:36.048000             🧑  作者: Mango

如何在 Seaborn 中创建面积图?

在本文中,我们将了解如何使用Python在 seaborn 中创建面积图。

面积图是一种快速轻松地可视化事物以在面积图上显示平均加班时间的好方法。面积图不同于折线图。面积图主要用于定量数据的汇总。但是,折线图和面积图之间的区域用阴影或颜色填充。

面积图以图形方式显示定量数据。它基于折线图。在折线图和面积图中,数据点通过线段连接以显示不同点的数量值。

示例 1:在 Seaborn 中创建基本面积图

在这个例子中,我们将看到如何在 seaborn 中创建一个基本的面积图。

Python3
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
#set seaborn style
sns.set_theme()
  
#define DataFrame
data = {'period': [1, 2],
                   'rohit': [10, 5],
                   'vikey': [5, 19],
                   }
  
df = pd.DataFrame(data)
  
#create area chart
plt.stackplot(df.period, df.rohit, df.vikey,
              labels=['rohit', 'vikey'])


Python3
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# set seaborn style
sns.set_theme()
  
data = {'period': [1, 2, 3, 4, 5, 6, 7, 8],
                   'team_B': [15, 17, 17, 19, 22, 19, 19, 14],
                   'team_C': [21, 18, 20, 16, 16, 15, 19, 22]}
  
# define DataFrame
df = pd.DataFrame(data)
  
# define colors to use in chart
color_map = ['orange', 'pink']
  
#create area chart
plt.stackplot(df.period, df.team_B, df.team_C,
              labels=['Team B', 'Team C'],
              colors=color_map)


Python3
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# set seaborn style
sns.set_theme()
   
# define DataFrame
df = pd.DataFrame({'Class': [1, 2, 3, 4, 5, 6, 7, 8],
                   'sec_A': [20, 12, 9, 14, 18, 20, 15, 22],
                   'sec_B': [ 12, 5, 7, 7, 9, 9, 9, 4],
                   'sec_C': [11, 8, 5, 9, 12, 10, 6, 6]})
  
# define colors to use in chart
color_map = ['yellow', 'blue', 'black']
  
# create area chart
plt.stackplot(df.Class, df.sec_A, df.sec_B, df.sec_C,
              labels=['Sec A', 'Sec B', 'Sec C'],
              colors=color_map)


输出:

示例 2:在 Seaborn 中创建自定义面积图

在这个例子中,我们将看到如何通过在 seaborn 中的color_map=[]中定义不同的颜色来创建面积图。

Python3

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# set seaborn style
sns.set_theme()
  
data = {'period': [1, 2, 3, 4, 5, 6, 7, 8],
                   'team_B': [15, 17, 17, 19, 22, 19, 19, 14],
                   'team_C': [21, 18, 20, 16, 16, 15, 19, 22]}
  
# define DataFrame
df = pd.DataFrame(data)
  
# define colors to use in chart
color_map = ['orange', 'pink']
  
#create area chart
plt.stackplot(df.period, df.team_B, df.team_C,
              labels=['Team B', 'Team C'],
              colors=color_map)

输出:

示例 3:在 Seaborn 中创建多个面积图。

在此示例中,我们将通过在 seaborn 中的 color_map=[] 中定义具有不同颜色的不同数据来了解如何在单个子图中添加创建多个面积图。

Python3

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# set seaborn style
sns.set_theme()
   
# define DataFrame
df = pd.DataFrame({'Class': [1, 2, 3, 4, 5, 6, 7, 8],
                   'sec_A': [20, 12, 9, 14, 18, 20, 15, 22],
                   'sec_B': [ 12, 5, 7, 7, 9, 9, 9, 4],
                   'sec_C': [11, 8, 5, 9, 12, 10, 6, 6]})
  
# define colors to use in chart
color_map = ['yellow', 'blue', 'black']
  
# create area chart
plt.stackplot(df.Class, df.sec_A, df.sec_B, df.sec_C,
              labels=['Sec A', 'Sec B', 'Sec C'],
              colors=color_map)

输出: