介绍
这篇文章将为大家详细讲解有关怎么在python中利用matplotlib实现条件背景颜色,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
python可以做什么
python是一种编程语言,内置了许多有效的工具,python几乎无所不能,该语言通俗易懂,容易入门,功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,网页开发等。
import numpy as np import pandas  as pd 时间=dates pd.date_range(& # 39; 20000101 & # 39;,,时间=800) 时间=df pd.DataFrame(指数=日期) df(& # 39;一个# 39;],=,np.cumsum (np.random.randn (800)), df (& # 39; B # 39;],=, np.random.randint(1、2、大?800)
如果我做df.A的折线图,如何根据该时间点& # 39;B # 39;列的值更改背景颜色?
例如,如果在该日期B=1,则该日期的背景为绿色。
如果B=0,则该日期的背景应为黄色。
如果B=1那么背景那个日期应该是红色的。
添加我最初考虑使用axvline的解决方法,但@jakevdp回答正是看起来因为不需要的循环:首先需要添加一个& # 39;我# 39;列作为计数器,然后整个代码看起来像:
dates =, pd.date_range(& # 39; 20000101 & # 39;,,时间=800) 时间=df pd.DataFrame(指数=日期) df(& # 39;一个# 39;],=,np.cumsum (np.random.randn (800)), df (& # 39; b # 39;],=, np.random.randint(1、2、大?800) df(& # 39;我# 39;],=,范围(1801) #,getting 从而,row where those values 断开连接;true wit 从而& # 39;我# 39;价值 时间=zeros df (df (& # 39; b # 39;]==, 0][& # 39;我# 39;], 时间=pos_1 df (df (& # 39; b # 39;)==1][& # 39;我# 39;】 时间=neg_1 df (df (& # 39; b # 39;)==1][& # 39;我# 39;】 时间=ax df.A.plot () for x 零拷贝: ,ax.axvline (df.index [x],颜色=& # 39;y # 39;,线宽=5,α=0.03) for x  pos_1拷贝: ax.axvline才能(df.index [x],颜色=& # 39;舌鳎# 39;,线宽=5,α=0.03) for x  neg_1拷贝: ax.axvline才能(df.index [x],颜色=& # 39;" # 39;,线宽=5,α=0.03)
关于怎么在python中利用matplotlib实现条件背景颜色就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。