繁体   English   中英

使用DataFrame使用axvspan制作突出显示的绘图区域

[英]Using DataFrame to make highlighted regions of plot using axvspan

我有一个DataFrame:

import matplotlib.pyplot as plt
import pandas as pd

highlight_data = pd.DataFrame(columns=list('XY'))
highlight_data.columns = ['Start','Stop']
highlight_data['Start'] = [20, 25, 42, 56]
highlight_data['Stop'] = [80, 35, 48, 72]

我正在尝试通过以下方式突出显示多个重点:

plt.figure()
for i in highlight_data:
    plt.axvspan(i[0], i[1])
plt.show()

但是,我得到的情节与预期结果没有任何关系。 我知道已经发布了类似的问题,但是我无法解决它。 任何帮助,将不胜感激。

编辑:这是我得到的结果。 但结果应该是亮点从20到80、25到35、42到48和56到72。

结果

您可能想要遍历数据框的行,而不是列名。

import matplotlib.pyplot as plt
import pandas as pd

highlight_data = pd.DataFrame(columns=list('XY'))
highlight_data.columns = ['Start','Stop']
highlight_data['Start'] = [20, 25, 42, 56]
highlight_data['Stop'] = [80, 35, 48, 72]

plt.figure()
for i, row in highlight_data.iterrows():
    plt.axvspan(row[0], row[1], edgecolor="black", facecolor=f"C{i}")
plt.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM