擅长:python、mysql、java
<p>我不确定这是否可行,因为对象<code>matplotlib.patches.Rectange</code>(即单个条)需要在层次结构中具有向上的类关系(figure=>;axes=>;lines)</p>
<p>标准程序是了解轴:</p>
<pre class="lang-py prettyprint-override"><code>import matplotlib.pyplot as plt
import numpy as np
# create dummy data
rns = np.random.randn(50)
# open figure
fig,(ax1,ax2) = plt.subplots(2,1,figsize=(10,6))
# bar charts
barg1 = ax1.bar(range(50),rns)
barg2 = ax2.bar(range(50),rns**2)
# define function
def anotateBarChart(ax,BargChart):
for bar in BargChart:
reading = round(bar.get_height(),2)
ax.annotate(str(reading)+'%',(bar.get_x(),reading))
# call defined function
anotateBarChart(ax1,barg1)
anotateBarChart(ax2,barg2)
</code></pre>
<p>我已经创建了一个小函数,这样您就不需要在它们上面连接线+循环,而只需要在每个axis对象上调用一个函数。此外,我建议使用<a href="https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.annotate.html" rel="nofollow noreferrer">^{<cd2>}</a>而不是<code>text</code>,但这只是一个提示</p>
<p><a href="https://i.stack.imgur.com/yeseZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yeseZ.png" alt="enter image description here"/></a></p>