Я строю свои веса тренировок против «Дата недели». Я хочу соединить все точки, которые соответствуют условию:
weights = ([1471.5, 4026. , 2399.5, 5462. , 0. , 2758.1, 6229. , 5132. ])
dates = ['16 Thu', '20 Mon', '21 Tue', '22 Wed', '23 Thu', '24 Fri','25 Sat','27 Mon']
any(x in dates[i] for x in ["Mon","Thu"])
Я видел этот вопрос Построение линий, соединяющих точки Но это касается каждых двух точек, но моя проблема в том, что я могу пропустить несколько дней. Я хочу, чтобы код был надежным.
Я использовал это для вышеуказанных «дат» и «весов»:
plt.pyplot.plot(dates,weights,'ro-')
plt.pyplot.xticks(dates)
plt.pyplot.grid(b=True, which='major', color='#666666', linestyle='-')
plt.pyplot.yticks(weights)
plt.pyplot.show()
Который создал этот отключенный участок:
Я хочу этот вывод:
Итак, я сделал это:
MonThudate = []
TueFridate = []
WedSatdate = []
MonThuwt = []
TueFriwt = []
WedSatwt = []
for i in range(len(dates)):
if any(x in dates[i] for x in ["Mon","Thu"]):
MonThudate.append(dates[i])
MonThuwt.append(weights[i])
if any(x in dates[i] for x in ["Tue","Fri"]):
TueFridate.append(dates[i])
TueFriwt.append(weights[i])
if any(x in dates[i] for x in ["Wed","Sat"]):
WedSatdate.append(dates[i])
WedSatwt.append(weights[i])
#MonThuDate = ['16 Thu', '20 Mon', '23 Thu', '27 Mon']
#MonThuwt = [1471.5, 4026.0, 0.0, 5132.0]
plt.pyplot.plot(MonThudate,MonThuwt,'ro-')
plt.pyplot.plot(WedSatdate,WedSatwt,'ro-')
plt.pyplot.plot(TueFridate,TueFriwt,'ro-')
Это произвело это:
Но здесь ось X не одинакова для всего графика. Это не пересекается.