【发布时间】:2020-10-28 15:01:44
【问题描述】:
我想根据数据的频率自定义我的简单条形图。上下文如下:
我有一个数据集,其中 x 轴称为 var_change,y 轴称为 var_median,误差条称为 var_error。 var_change 和 var_error 以 5-var_median 的 bin 大小计算。这些变量的代码和绘图如下所示:
fig = plt.figure(figsize=(24,7))
ax = [plt.subplot(181)]
ax[i].barh(np.arange(0+2.5,99+2.5,5), var_change, alpha = 0.6, height = 5,
color='none', edgecolor='k', capsize=2.5, lw = 0.8)
ax[i].errorbar(var_change, np.arange(0+2.5,99+2.5,5), xerr = var_error, capsize=3,
fmt="r:o", ecolor = "black", alpha = 0.8)
我想根据数据集。频率可以使用以下代码计算:
#df_delta_pos is a data-frame
pos_count = []
for j in np.arange(0,99,5):
pos_count.append(df_delta_pos.where((df.var_median> TC_bins[j]) &
(df.var_median<= TC_bins[j+5])).dropna()['var_change'].count())
#Here I would also normalize them if changing 'lw'. Code for normalization can be provided, if needed.
#For now consider random numbers here.
最终图应如下所示,但 lw 和 alpha 也会根据频率发生变化。
【问题讨论】:
标签: python matplotlib bar-chart customization