【发布时间】:2021-01-10 16:50:15
【问题描述】:
对于我遇到的以下问题,我希望得到您的帮助。我一直在尝试将绝对值和百分比值并排放置,但没有成功。其中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()
【问题讨论】:
-
欢迎来到stackoverflow!您可能想要创建一个minimal, reproducible example 将您的代码剥离到绝对必要的状态,并包含所有需要的东西,即所有库,尤其是一些玩具数据。也许你可以附上一张图,它现在的样子和应该是什么样子
-
@max 你好,max,非常感谢你的回归。我是这个社区的初学者,我仍在学习正确行事,遵守规则和礼貌。因为我会更有效地参与,我会习惯这一切。在下一篇文章中,我处理了您向我提出的所有建议,对此我非常感谢。我借此机会在这里,如果你能帮助我,我在这里留下深深的感谢。
-
很高兴来到这里。你可以编辑你的帖子,让人们更有可能回复它
-
@Sr.我更完整地编辑了问题,包括代码,所以毫无疑问。非常感谢。
标签: python matplotlib seaborn bar-chart