sns.FacetGrid(df, col = 'SEX', height = 4) sns.distplot(df['CLASIFFICATION_FINAL'])
时间: 2024-01-18 19:02:51 浏览: 131
这是一个 Python 代码片段,它使用 Seaborn 库中的 "FacetGrid" 和 "distplot" 函数创建一个名为 "CLASIFFICATION_FINAL" 的列的直方图。该直方图被分成两列,每列对应于 "SEX" 列中的不同值。"height" 参数指定每个子图的高度为 4。这个图可以帮助您比较在不同 "SEX" 值下,"CLASIFFICATION_FINAL" 列中值的分布情况。
相关问题
g = sns.FacetGrid(unpaid, col="下单入口", hue="短信催款次数", sharex=True, sharey=True, col_wrap=2, palette="husl", height=6, aspect=1.5)有两列图,如何把plt.axvline(x=2, color='r', linestyle='--')放进两列图里
你可以使用 FacetGrid 对象的 `map()` 方法来对每个子图进行绘制。因此,你可以将 `plt.axvline()` 包装成一个函数,然后使用 `map()` 方法将这个函数映射到 FacetGrid 对象的每个子图上。
具体实现方法如下:
```python
import matplotlib.pyplot as plt
import seaborn as sns
# 定义绘制垂直线的函数
def draw_vline(x, color='r', linestyle='--'):
plt.axvline(x=x, color=color, linestyle=linestyle)
g = sns.FacetGrid(unpaid, col="下单入口", hue="短信催款次数", sharex=True, sharey=True, col_wrap=2, palette="husl", height=6, aspect=1.5)
g.map(plt.scatter, "逾期", '需付金额', alpha=0.7, s=30)
# 对每个子图绘制垂直线
g.map(draw_vline, "下单入口", x=2, color='r', linestyle='--')
g.map(draw_vline, "下单入口", x=9, color='r', linestyle='--')
g.map(draw_vline, "下单入口", x=16, color='r', linestyle='--')
g.add_legend()
```
在这个例子中,我们定义了一个名为 `draw_vline()` 的函数,用于在子图中绘制垂直线。然后,我们使用 `map()` 方法将这个函数映射到 FacetGrid 对象的每个子图上,同时传入需要绘制垂直线的位置 `x` 和其他参数。最后,我们调用 `add_legend()` 方法添加图例。
import numpy as np import scipy.stats as ss import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from seaborn import FacetGrid df=pd.read_excel("./tmp_apply2.xlsx") sns.set_context(font_scale=10) plv_tb=pd.pivot_table(df, values="sale", index=["FactoryName","JiJXH","Xian"], aggfunc=np.mean) g = FacetGrid(plv_tb, col_wrap=0, sharex=False, sharey=False, height=10, aspect=0.8) sns.heatmap(g, vmin=plv_tb.min().min(), vmax=plv_tb.max().max(), cmap=sns.color_palette("RdYlGn", n_colors=10)) plt.show()怎样按照Xian展开多行,绘制清晰色阶图,如何修改
你可以将 `Xian` 添加到 `col` 参数中,这样就可以按照 `Xian` 展开多行,然后在 `heatmap()` 函数中添加 `annot=True` 参数来显示每个单元格的值,同时可以通过 `fmt` 参数设置显示格式。例如:
```
g = FacetGrid(plv_tb, col="Xian", col_wrap=3, sharex=False, sharey=False, height=6, aspect=0.8)
sns.heatmap(g.map(sns.color_palette("RdYlGn"), "sale", annot=True, fmt=".2f", linewidths=.5, linecolor='gray', cbar=False))
plt.show()
```
这里将 `col_wrap` 设置为 3,表示每行最多展示 3 个子图;`annot=True` 表示显示每个单元格的值;`fmt=".2f"` 表示显示小数点后两位;`linewidths=.5` 和 `linecolor='gray'` 表示设置单元格之间的分割线;`cbar=False` 表示不显示颜色条。你也可以根据需要进一步修改这些参数。
阅读全文