<p>也许你应该改变问题的标题,因为对你来说,内核为什么会死并不重要。据我所知,问题是:</p>
<p>创建具有不同条形图颜色和每个条形图值的水平条形图作为批注。在</p>
<p>下面是一个使用Seaborn的解决方案:</p>
<pre><code>import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas
sns.set(style="darkgrid")
sns.set_color_codes("muted")
# Create example DataFrame
df = pandas.DataFrame(np.random.uniform(size=20)*100, columns=['A'])
# Create list of colors based on a condition
colors = ['red' if (x < 20) else 'green' for x in df['A']]
# Create barplot
ax = sns.barplot(data=df.transpose(), palette=colors, orient='h')
# Annotate every single Bar with its value, based on it's width
for p in ax.patches:
width = p.get_width()
plt.text(5+p.get_width(), p.get_y()+0.55*p.get_height(),
'{:1.2f}'.format(width),
ha='center', va='center')
</code></pre>
<p>创建:</p>
<p><a href="https://i.stack.imgur.com/Rtsvl.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Rtsvl.png" alt="enter image description here"/></a></p>
<p>更新:
也可为文本着色:</p>
^{pr2}$
<p>使绘图变大以便背景也覆盖注释:</p>
<pre><code>ax.set_xlim([0, max(df['A'])+10])
</code></pre>