类似于this问题,但适用于许多带有数字的圆。我不知道为什么,但是生成的数字是空白的。我想一个数字与9个圆圈(有3种颜色之一),与“工作标识”打印在圆。你知道吗
import matplotlib.pyplot as plt
import pandas as pd
d = {'job_id': [1, 2, 3, 4, 5, 6, 7, 8, 9],
'hub': ['ZH1', 'ZH1', 'ZH1', 'ZH2', 'ZH2', 'ZH3', 'ZH3', 'ZH3', 'ZH3'],
'alerts': [18, 35, 45, 8, 22, 34, 29, 20, 30],
'color': ['orange', 'orange', 'orange', 'green', 'green', 'lightblue', 'lightblue', 'lightblue', 'lightblue']}
df=pd.DataFrame(data=d)
ax=plt.subplot(111)
for index, row in df.iterrows():
print(row)
ax.text(index,row['alerts'],str(row['job_id']), transform=plt.gcf().transFigure,
bbox={"boxstyle" : "circle", "color":row['color']})
plt.show()
你需要在0-1范围内绘制x-y坐标。为此,我将x和y除以数据帧中的最大值。稍后,我相应地调整x和y限制,并标记轴以显示实际值。你知道吗
你的字典里也只有两个
'green'
,但有四个'lightblue'
。我纠正了。我还将index
bb替换为row['job_id']
,因为索引以0开头,但您希望在x=1
处绘制圆1两个问题。你知道吗
transform=...
部分。你知道吗完整代码:
相关问题 更多 >
编程相关推荐