Seaborn散点图无法设置darkgrid样式,背景始终为白色求助
解决Seaborn散点图darkgrid样式不生效的问题
嘿,我一眼就看出问题所在啦——你调用样式设置的顺序搞反了!
Seaborn的sns.set_style()需要在绘制图表之前执行,因为样式是作用于后续创建的绘图元素的。你现在的代码是先画了散点图,再去设置darkgrid样式,这时候已经生成的图表根本不会响应这个设置,所以才会一直显示纯白色背景。
修复后的代码
把样式设置移到绘图代码的最前面就行:
# 先设置darkgrid样式,再创建图表 sns.set_style("darkgrid") sns.scatterplot(x = exit_velocity, y = launch_angle, hue = pitch_type) plt.xlabel('Exit Velocity (mph)') plt.ylabel('Launch Angle (º)') plt.title('Launch Angle vs. Exit Velocity on Scoring Plays') plt.legend(loc = 3) sns.despine() plt.show()
额外小技巧
- 要是想让整个脚本里的所有图表都默认用darkgrid,可以把
sns.set_style("darkgrid")放在脚本最开头,这样不用每次绘图前都写一遍。 - 如果只想给某一个图表单独用darkgrid,不影响其他图表的样式,可以用上下文管理器:
# 仅在这个代码块内应用darkgrid样式 with sns.axes_style("darkgrid"): sns.scatterplot(x = exit_velocity, y = launch_angle, hue = pitch_type) plt.xlabel('Exit Velocity (mph)') plt.ylabel('Launch Angle (º)') plt.title('Launch Angle vs. Exit Velocity on Scoring Plays') plt.legend(loc = 3) sns.despine() plt.show()
这样调整后,你的散点图就能正常显示darkgrid背景啦!
内容的提问来源于stack exchange,提问作者Bryce Wilkings
相关产品推荐
相关产品推荐

