在Python中,指示线图上低于阈值的某些点

在Python中,指示线图上低于阈值的某些点,python,matplotlib,Python,Matplotlib,使用下面提到的代码,可以得到直线图。在这里,通过掩蔽,低于阈值的点之间的线的某些部分变成红色。然而,我希望低于阈值(“b”)的特定点应该在线图上以红色表示,而不是线的一部分。有什么建议吗 import matplotlib.pyplot as plt import pandas as pd #reading .csv file Time = pd.read_csv('C:/Users/SONY/Desktop/Temp/%s/Filtered File.csv'%DayFolder) a

使用下面提到的代码,可以得到直线图。在这里,通过掩蔽,低于阈值的点之间的线的某些部分变成红色。然而,我希望低于阈值(“b”)的特定点应该在线图上以红色表示,而不是线的一部分。有什么建议吗

import matplotlib.pyplot as plt
import pandas as pd

#reading .csv file
Time = pd.read_csv('C:/Users/SONY/Desktop/Temp/%s/Filtered  File.csv'%DayFolder)

a = np.array(Time['Irradiation W/sqm'])

b = int(Time['Irradiation W/sqm'].max()*0.5)
# use a masked array to suppress the values that are too low
a_masked = np.ma.masked_greater(a, b)

# plot the full line
plt.plot(a, 'k')

# plot only the large values
plt`enter code here`.plot(a_masked, 'r', linewidth=2)

# add the threshold value (optional)
plt.axhline(b, color='k', linestyle='--')
plt.show()

试试这个,希望对你有所帮助

谢谢你的回复。我试试这个。我已经从csv文件中导入了数据,并从列中绘制了图形,我将使用列代替变量“a”。使用此代码,行的某些部分将变为红色。然而,我想突出显示行上低于阈值的数据点。对于ex:is,我有a=(12,3,15,16,9,18),我的阈值是10,那么第3点和第9点应该得到高光。有可能吗?将蒙版_大_等于蒙版_小_等于,并将值10替换为15I。我做了相同的操作,但是,两个较小点之间的线条部分会高亮显示,而不是该特定点。
import numpy as np
import matplotlib.pyplot as plt

a = np.array([1,2,17,20,16,3,5,4])

# use a masked array to suppress the values that are too low
a_masked = np.ma.masked_greater_equal(a, 15)

# plot the full line
plt.plot(a, 'k')

# plot only the large values
plt.plot(a_masked, 'r', linewidth=2)

# add the threshold value (optional)
plt.axhline(15, color='k', linestyle='--')
plt.show()