使用Seaborn,我得到了所需的精确图形,但是我无法复制它一次获得4个图形:
我想以图像1的格式获取4个seaborn图(图像2)(一次用我对seaborn的计算得出4个)。
我的代码如下:
import os
import re
import time
import ipdb
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
path_file = os.path.join(BASE_DIR, 'camel_product_list.csv')
gapminder = pd.read_csv(path_file)
print(gapminder.head())
df = gapminder
sns.distplot(df['average_histogram_ssim'], hist=True, kde = False, label='All values')
df = gapminder[gapminder.color == 'green']
# sns.distplot(df['lifeExp'], hist = True, kde = True, label='Only Matches')
sns.distplot(df['average_histogram_ssim'], hist_kws={"histtype": "step",
"linewidth": 3,
"alpha": 1, "color": "b"} ,
kde = False, label='Only Matches')
# Plot formatting
plt.legend(prop={'size': 12})
plt.title('ratio_image SSIM')
plt.xlabel('Data Range')
plt.ylabel('Density')
plt.show()
数据框的列名称为:
'ratio_text','ratio_image', 'ratio_hist', 'ratio_sub', 'color'
我正在使用颜色列作为过滤器。
如何获取按所有颜色和绿色过滤的 ratio_text','ratio_image','ratio_hist','ratio_sub',的4个海洋图?
答案 0 :(得分:2)
首先定义子图网格,并将其四个轴分配给数组ax
:
fig, ax = plt.subplots(2, 2)
现在,您可以使用ax
关键字参数将要绘制的轴传递给seaborn的绘制函数,例如对于第一个情节:
sns.distplot(df['average_histogram_ssim'], hist=True, kde=False, label='All values',
ax=ax[0, 0])
与ax=ax[0, 1]
相同的是右上方的图,依此类推。