如何判断Seaborn绘制的柱状图是否有柱子并按需保存PNG
判断Seaborn柱状图是否存在柱子并选择性保存图片
你可以通过检查Seaborn barplot返回的Axes对象的patches属性来判断是否生成了柱子——这个属性存储了所有柱子对应的矩形元素。如果patches的长度大于0,说明有柱子存在。
完整代码示例:
import seaborn as sns import matplotlib.pyplot as plt fig = plt.figure(figsize=(20, 6)) gr = sns.barplot(x="ReleaseMonth", y="Rating", data=df) # 判断是否有柱子生成 if len(gr.patches) > 0: plt.savefig("fig1.png") plt.close() # 可选:关闭图形释放资源
补充说明:
gr.patches是一个列表,每个元素对应一个柱子的matplotlib.patches.Rectangle对象- 当DataFrame中没有有效数据(比如x/y列无有效值、分组后无数据)时,
gr.patches会是空列表,此时不会执行保存操作
内容的提问来源于stack exchange,提问作者Vika
相关产品推荐
相关产品推荐

