1

次のコードを使用して、一度に複数の曲線があるグラフを生成しています。

for i in data.find():
    a=[]
    for element in i["counts"]:
        a.append(element["total"])
    plt.plot(a)

plt.show()

各曲線の下の特定の領域に色を付けられるようにしたいと思います。たとえば、曲線1の場合、区間x:[3,21]、x:[28、29]およびx:[42、51]

yはxの関数ではないので、次のバリエーションは使用できないと思います。yは単なる整数のリストです。

plt.fill_between(x,y,0,color='0.8')

この問題を回避する方法はありますか?どうもありがとう。

4

1 に答える 1

1

plt.plot(a)同等 plt.plot(np.arange(len(a)),a)であり、それにより、どのように使用できるかがわかりやすくなりますfill_between

where = np.zeros(len(a),dtype=bool)
where[3:21] = True
plt.fill_between(np.arange(len(a)),a,where=where)

補足として、

a=[]
for element in i["counts"]:
    a.append(element["total"])

一般的に、リスト内包表記として記述した方が適切です。

a = [element['total'] for element in i['counts']]
于 2013-01-08T00:14:06.497 に答える