【发布时间】:2016-03-13 23:42:18
【问题描述】:
我正在尝试重新创建这个:
我的代码差不多了:
def make_bar(g_title, y_title, x_labels, data_series, file_name, cat_title,
x_title):
rcParams['figure.figsize'] = 6.4125, 3.6
n_groups = 13
bar_width = 0.35
opacity = 0.4
fig, ax = plt.subplots()
fig.subplots_adjust(right=1.5) # adjust 0.8 for your needs.
index = np.arange(n_groups)
plt.bar(index, tuple(data_series[0][1]), bar_width,
alpha=opacity,
color='b',
label='{}'.format(data_series[0][0]))
plt.bar(index + bar_width, tuple(data_series[1][1]), bar_width,
alpha=opacity,
color='r',
label='{}'.format(data_series[1][0]))
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.6, box.height])
plt.xlabel(x_title, fontsize=10)
plt.ylabel(y_title, fontsize=10)
plt.title(g_title, fontsize=11)
plt.xticks(index + bar_width, tuple(x_labels), fontsize=8)
plt.yticks(fontsize=8)
plt.axis('tight')
lgd = plt.legend(fontsize=8, bbox_to_anchor=(1.15, 0.5))
plt.tight_layout()
plt.savefig('{}/{}.png'.format(images, file_name), dpi=100, format='png',
bbox_extra_artists=(lgd,), bbox_inches='tight')
plt.close('all')
return
输出:
我需要像原版一样的 y 轴网格线,但不知道如何到达那里。我已经用尽了所有的想法。帮忙?
【问题讨论】:
-
现在看起来像垂直 == 水平:\
标签: python matplotlib