别再只用默认样式了!用Matplotlib定制柱形图的3个高级技巧(附热狗大赛案例)
当你在Jupyter Notebook里随手敲下 ax.bar() 时,Matplotlib给出的默认柱形图就像快餐店的汉堡——能填饱肚子,但绝对称不上美味。本文将以热狗大赛数据为例,带你解锁三个让柱形图从"勉强能用"到"专业级展示"的关键技巧。
1. 动态颜色映射:用色彩讲故事
原始代码中那个总返回灰绿色的 unitedStatesColor() 函数是个经典错误案例——它把字符串字面量 'country' 和变量 hot_dog["New record"] 直接比较。正确的动态着色应该这样实现:
def color_by_country(df):
return ['#DB7093' if country=='United States'
else '#5F9F9F'
for country in df['Country']]
但真正的专业选手会采用更优雅的解决方案:
from matplotlib.colors import LinearSegmentedColormap
# 创建自定义颜色映射
cmap = LinearSegmentedColormap.from_list(
'national_colors',
['#5F9F9F', '#DB7093']
)
norm = plt.Normalize(vmin=0, vmax=1)
进阶技巧 :
- 使用
seaborn的hue参数自动处理分类着色 - 对连续型数据

&spm=1001.2101.3001.5002&articleId=101558003&d=1&t=3&u=ebed9a782dcf4d79a1bac0c4a0a096a7)
305

被折叠的 条评论
为什么被折叠?



