g = FacetGrid(plv_tb, col="Xian", col_wrap=4, sharex=False, sharey=False, height=5, aspect=1.5)
时间: 2024-06-08 12:05:38 浏览: 8
这段代码使用了seaborn库中的FacetGrid函数,用于绘制多个子图。具体参数含义如下:
- plv_tb:数据集
- col="Xian":按照Xian列的值进行分组,每组生成一个子图
- col_wrap=4:每行显示的子图数量,本代码中每行显示4个子图
- sharex=False, sharey=False:是否共享x轴和y轴,本代码中未共享
- height=5:每个子图的高度为5
- aspect=1.5:每个子图的宽度为高度的1.5倍。
相关问题
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"],columns=["Xian"],aggfunc=np.mean) plv_df["Xian"] = df["Xian"].astype(str) plv_df g = FacetGrid(plv_tb, col="Xian", col_wrap=4, sharex=False, sharey=False, height=5, aspect=1.5) sns.heatmap(g,vmin=plv_tb.min().min(), vmax=plv_tb.max().max(),cmap=sns.color_palette("RdYlGn",n_colors=10)) plt.show()如何修改代码使Xian可以展开多行,制作清晰色阶图
可以将 `col_wrap` 参数设置为 `None`,这样就可以展开多行了。同时,可以调整 `height` 和 `aspect` 参数来制作清晰的色阶图,比如将 `height` 设置为 10,`aspect` 设置为 0.8。修改后的代码如下:
```
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"], columns=["Xian"], aggfunc=np.mean)
plv_tb["Xian"] = df["Xian"].astype(str)
g = FacetGrid(plv_tb, col="Xian", col_wrap=None, 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()
```
注意,`plv_df` 应该改为 `plv_tb`。
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` 表示不显示颜色条。你也可以根据需要进一步修改这些参数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)