使用XY散点图开展原油收益率幂律检验的绘图实现咨询
原油收益率频率分布直方图实现方案
完整可运行代码
在你已有的预处理代码后添加以下内容即可:
# 过滤收益率列的空值,避免绘图报错 data = data.dropna(subset=['Return']) plt.figure(figsize=(12,6), dpi=100) # 核心绘图:指定200个分箱,edgecolor设置柱子边框更贴近目标图样式 n, bins, patches = plt.hist(data['Return'], bins=200, color='#1f77b4', edgecolor='white', linewidth=0.5) # 图表样式配置,可根据目标图调整 plt.xlabel('收益率', fontsize=12) plt.ylabel('频率', fontsize=12) plt.title('原油日度收益率频率分布', fontsize=14) # 可选:添加网格线对齐目标图样式 plt.grid(axis='y', linestyle='--', alpha=0.7) plt.show()
关键实现说明
- 分箱逻辑:
plt.hist的bins=200参数会自动将收益率的取值区间等分为200个等宽分箱,和目标图的分箱规则一致。如果需要过滤极端异常值优化展示效果,可以手动指定分箱范围,示例如下:
# 手动限定收益率展示范围为-0.3到0.3,201个边界对应200个分箱 custom_bins = np.linspace(-0.3, 0.3, 201) n, bins, patches = plt.hist(data['Return'], bins=custom_bins, color='#1f77b4', edgecolor='white', linewidth=0.5)
- 返回值说明:代码中的
n就是每个分箱对应的频率值,bins是每个分箱的边界值,如果你需要后续分析分箱数据可以直接调用这两个变量。
内容的提问来源于stack exchange,提问作者Dio
相关产品推荐
相关产品推荐

