对于我一直面临的以下问题,我想依靠你的帮助。我一直在尝试,但没有成功,把绝对值和百分比值放在一起。其中53
和47
为百分比值,位于括号外,17
和15
为绝对值,位于括号内。绝对值和百分比值都是已知的,因此,无需进行任何计算即可获得它们。我把代码留在这里,让你看看我能走多远。这就是错误:
TypeError: __init__() got multiple values for argument 'xytext'
x_axis = ["MJO Active","MJO Inactive"]
y_axis = [53,47]
fig, ax = plt.subplots(figsize=(10,7))
palette = sns.color_palette(["#55a868"])
rects = sns.barplot(x_axis,y_axis, linewidth = 0, color='#55a868')
ax.tick_params(axis='both', which='major', pad=1)
plt.xlabel('MJO Activity', fontsize=24)
plt.xticks(rotation="horizontal", size = 20)
ax.locator_params(axis='y', integer=True)
plt.ylabel('Percentage of Events (%)', fontsize=24)
plt.yticks(size = 18)
plt.ylim(0,60)
plt.title('ONDJFMA - 1996/2014',fontsize=24)
ax.get_xaxis().set_label_coords(0.5,-0.10)
ax.get_yaxis().set_label_coords(-0.06,0.5)
values = [17, 15]
v = 0
for rect in rects.patches:
rects.annotate(format(rect.get_height(), '.0f'),
(rect.get_x() + rect.get_width() / 2., 1.0*rect.get_height()),
'%d(%d)' % (int(rect.get_height()), values[v]), ha = 'center', va='bottom', fontsize = 20,
xytext = (0, 0),
textcoords = 'offset points')
v = v + 1
plt.show()
你就快到了。我们使用
zip
链接条形图矩形、百分比值和绝对值,然后使用f-string formatting进行显示:样本输出:
相关问题 更多 >
编程相关推荐