堆叠面积图异常、边缘色设置及Vs30区间分箱技术咨询
问题2:为堆叠面积图添加边缘色
edgecolor参数在plot.area()中无效,是因为面积图的填充区域由多个Patch对象组成,全局参数无法直接作用于每个区域。你需要遍历每个填充块,单独设置边缘属性:
ax = color_table.plot(kind='area', figsize=(8, 8), stacked=True, rot=0) # 遍历每个填充Patch,设置边缘色和线宽 for patch in ax.patches: patch.set_edgecolor('black') patch.set_linewidth(1) # 可根据需求调整线宽 # 后续标签、图例设置不变 plt.ylabel('Frequency', fontsize=12) plt.legend(title='Foundation Type', loc='upper right') plt.title('Column Database', fontsize=20) plt.show()
这样每个堆叠区域都会加上黑色边缘线,分层效果更清晰。
问题3:设置包含>800的分箱
要实现最后一个区间为>800,只需把分箱的最后一个边界设为np.inf(无穷大),并对应设置标签即可:
bins = [0, 200, 400, 600, 800, np.inf] labels = ['0-200', '200-400', '400-600', '600-800', '>800'] df['binVs30'] = pd.cut(df.Vs30, bins=bins, labels=labels, include_lowest=True)
include_lowest=True确保Vs30=0的样本会被归入第一个区间0-200;np.inf会把所有大于800的样本都归入最后一个>800区间。
后续绘图代码无需修改,生成的图表会正确显示这个自定义区间。
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

