我想指向使用pandas dataframe和matplotlib绘制的条形图上的数据点。如果我使用散点图(用数值数据替换下面数据中的类别,则用箭头绘制和突出显示效果很好)在下面的平凡示例中如果未引发条件,则绘制条形图数据,但在运行条件时会“崩溃”。我不知道是什么问题。帮助将不胜感激。
import pandas as pd
import matplotlib.pyplot as plot
%matplotlib inline
bar_data = {'A':4,'B':8,'C':7,'D':1,'E':3,'F':9,'G':0,'H':4,'J':2,'K':8}
bardf = pd.DataFrame(list(bar_data.items()),columns = ['x','y'])
#display(bardf)
bar_fig=bardf.plot.bar('x', 'y',figsize=(10,6))
for index,row in bardf.iterrows():
if row['y']==0:
x=row['x']
y=row['y']
print(x,y)
bar_fig.annotate(x,color='magenta', xy=(x, y), xytext=(x, 2),
bbox=dict(boxstyle='round,pad=0.3', fc='green', alpha=0.3),arrowprops=dict(arrowstyle='->',color='green'))
我不确定这是否可以解决您的问题,但是您应该使用它的位置而不是x(在您的情况下为char)。
bar_fig=bardf.plot.bar('x', 'y',figsize=(10,6))
for index,row in bardf.iterrows():
if row['y']==0:
x=row['x']
y=row['y']
print(index)
bar_fig.annotate(x,color='magenta', xy=(index, y),
xytext=(index,2),bbox=dict(boxstyle='round,pad=0.3',fc='green', alpha=0.3),arrowprops=dict(arrowstyle='->',color='green'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句