matplotlib
当使用绘制条形图时bars = plt.bar(...)
,可以将返回的对象传递plt.bar_label(bars, labels)
给以便于标记。
plt.bar_label(bars, labels)
标记所有条形。我只想标记一个子集(前三个),最好使用plt.bar_label()
。我不想调用
plt.text()
或plt.annotate()
。
有没有办法从中切出我想要的条形图bars
,并且只使用标签plt.bar_label()
?
下面的例子显示了所有条形图都已贴上标签的默认行为。
#Imports
import matplotlib.pyplot as plt
import pandas as pd
# Data for testing
values = [10, 9, 10.5, 4, 3.1, 2]
labels = [
'sensor calibration', 'sensor response', 'noise floor estimate',
'noise floor theta', 'weighted response coef', 'linear estimate'
]
#Bar plot with labels
ax = plt.figure(figsize=(5, 2)).add_subplot()
bars = ax.bar(range(6), values, color='lightgray')
ax.set(xlabel='x', ylabel='value', title='Data')
ax.spines[['top', 'right']].set_visible(False)
#Add all bar labels
label_kwargs = dict(rotation=90, weight='bold', fontsize=8, label_type='center')
ax.bar_label(bars, labels, **label_kwargs)