我正在尝试在MatPlotLib中创建堆叠条形图,在顶部和底部有两个不同的x标签.上面的一个应该有一个边界框,宽度与条本身相同.
情节不太正确
这是我创建标签的方式:
plt.tick_params(axis="both", left=False, bottom=False, labelleft=False)
plt.xticks(ind, diagram.keys())
ax.set_frame_on(False)
for label, x in zip([q[1] for q in diagram.values()], ind):
ax.text(
x, 1.05, '{:4.0%}'.format(label),
ha="center", va="center",
bbox={"facecolor": "blue", "pad": 3}
)
图是像{bottom-label:[[contents],top-label]}这样的字典
所以我想我的问题归结为:我如何操纵文本对象的边界框?
非常感谢!
根据要求,一个可运行的例子:
import matplotlib.pyplot as plt
import numpy as np
def stacked_bar_chart(
diagram, title="example question", img_name="test_image", width=0.7, clusters=None, show_