我有一个pm2_5数据,它是我用matplotlib scatterplot
绘制的。我想在不同的y-值上插入多条水平线,为此,我手动为y的每个不同值调用“ax.axhline”函数。有什么办法使整个过程自动化吗?
# making a graph with delineated health levels of pm2.5 in the year 2015
fig, ax=plt.subplots(figsize=(10,7));
pm2_5.plot(kind='scatter',x='S_no',y='pm2_5',c='pm2_5',ax=ax, cmap='tab20b');
ax.axhline(y=150,linestyle ='--')
ax.axhline(y=100,linestyle ='--')
ax.axhline(y=200,linestyle ='--')
ax.axhline(y=300,linestyle ='--')
下面是它应该是什么样子:
发布于 2020-04-21 15:50:18
您可以使用列表理解:
[ax.axhline(y=i, linestyle='--') for i in [150,100,200,300]]
发布于 2022-01-07 12:14:22
修正上面的答案以消除拼写错误.
[ax.axhline(y=i, linestyle='--') for i in [150,100,200,300]]
https://stackoverflow.com/questions/61347471
复制相似问题