有没有办法在 matplotlib 的单个图中使用 hlines() 函数绘制多条水平线?

Is there a way to plot multiple horizontal lines using hlines() function in a single plot of matplotlib?

我有一个 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 ='--')

它应该是这样的:

您可以使用列表理解:

[ax.axhline(y=i, linestyle='--') for i in [150,100,200,300]]

正在更正以上答案以消除拼写错误...

[ax.axhline(y=i, linestyle='--') for i in [150,100,200,300]]