You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sns.histplot绘制直方图失败,如何实现x轴为年份y轴为对应点数?

问题诊断

你误用了绘图函数:sns.histplot是用于展示数据分布频率的直方图工具,核心作用是统计一组数据在不同区间的出现次数,无法直接实现「分类x轴对应指定y轴数值高度」的需求。你需要的是展示类别与对应数值关联的柱状图,应该使用sns.barplot实现。

修改后可运行代码
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = {'year':  ['2010', '2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021'],
        'points': [2260, 1499, 1834,3712,6830,7139.0,8085,6928,6903,8631,5476,1271]}
df = pd.DataFrame(data)

sns.set(style="darkgrid")
# 替换为barplot,指定x、y对应的列
sns.barplot(data=df, x='year', y='points', color="blue")
# 可选:旋转x轴标签避免文字重叠
plt.xticks(rotation=45)
plt.show()
关键修改说明
  • 绘图函数替换:将直方图函数histplot替换为柱状图函数barplot,匹配你的需求场景
  • 传参优化:直接传入完整DataFrame作为data参数,分别指定x、y对应的列名即可,无需单独提取列
  • 新增可选的x轴标签旋转配置,解决年份较多时标签重叠的问题

内容的提问来源于stack exchange,提问作者Zoe Win

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:39:04