Python 3.x 如何根据绘图中的条件给线图上色?

Python 3.x 如何根据绘图中的条件给线图上色?,python-3.x,pandas,plot,Python 3.x,Pandas,Plot,我试图找到数据绘图的解决方案 我有一张根据时间(x)和公里(y)绘制的轨迹图,我需要用不同的颜色标记数据帧中的可用性参数为0或100的位置 我尝试了这个,但是我得到了完全不同于我预期的结果 from matplotlib import pyplot as plt import pandas as pd import numpy as np # Read file, using ; as delimiter filename = "H:\\run_linux\\river_km_calculat

我试图找到数据绘图的解决方案 我有一张根据时间(x)和公里(y)绘制的轨迹图,我需要用不同的颜色标记数据帧中的可用性参数为0或100的位置

我尝试了这个,但是我得到了完全不同于我预期的结果

from matplotlib import pyplot as plt
import pandas as pd
import numpy as np

# Read file, using ; as delimiter
filename = "H:\\run_linux\\river_km_calculations\\route2_8_07_23_07\\true_route2_8_07_23_07_test.csv"
df = pd.read_csv(filename, delimiter=';', parse_dates=['datetime']) #dtype={'lon_deg':'float', 'lat_deg':'float'})


df = df[189940:]

df.set_index('datetime', inplace=False)
plt.plot( df['datetime'], df['river_km'])
plt.show()

connection = 100
noconection = 0


def conditions(s):
    if (s['age_gps_data'] <= 1.5) or (s['age_gps_data'] >=0.5 ):
        return 100
    else:
        return 0

df['availability'] = df.apply(conditions, axis=1)

internet = np.ma.masked_where(df.availability == connection, df.availability)
nointernet = np.ma.masked_where((df.availability == noconection) , df.availability)

fig, ax = plt.subplots()
ax.plot(df.river_km, internet, df.river_km, nointernet)
plt.show()
从matplotlib导入pyplot作为plt
作为pd进口熊猫
将numpy作为np导入
#读取文件,使用;作为定界符
filename=“H:\\run\u linux\\river\u km\u calculations\\route2\u 8\u 07\u 23\u 07\\true\u route2\u 8\u 07\u 23\u test.csv”
df=pd.read_csv(文件名,分隔符=';',parse_dates=['datetime'])#dtype={'lon_deg':'float','lat_deg':'float'})
df=df[189940:]
df.set_索引('datetime',inplace=False)
plt.绘图(df['datetime',df['river_km']))
plt.show()
连接=100
无关联=0
def状况:
如果(s['age\U gps\U data']=0.5):
返回100
其他:
返回0
df['availability']=df.apply(条件,轴=1)
internet=np.ma.masked_其中(df.availability==连接,df.availability)
nointernet=np.ma.masked_其中((df.availability==noconction),df.availability)
图,ax=plt.子批次()
ax.地块(df.river_km、互联网、df.river_km、nointernet)
plt.show()
我如何在可用性为0、可用性为100且这些参数没有值的情况下,在具有不同颜色的绘图上进行标记? 我想要实现的应该是这样的:

那么您想根据连接状态对图形进行颜色编码?然后你可以考虑使用<代码> Reals,用颜色向量作为关键字参数,例如,你想根据连接状态对你的图形进行颜色编码吗?然后可以考虑使用<代码> Reals,以颜色向量作为关键字参数,参见