别再只用默认样式了!用Matplotlib定制柱形图的3个高级技巧(附热狗大赛案例)

别再只用默认样式了!用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 参数自动处理分类着色
  • 对连续型数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值