#python #excel
#python #excel
Вопрос:
Вот мои данные, которые я хотел бы отобразить. Цель состоит в том, чтобы построить первый столбец (базовую дату) по столбцам A, B, C, D и т. Д…
Baseline Date A B C D E
0 14/08/2020 15/10/2020 15/10/2020 19/11/2020 29/10/2020 13/10/2020
1 21/08/2020 20/03/2021 13/05/2022 10/12/2020 3/12/2020 5/11/2020
2 28/08/2020 10/03/2021 3/05/2022 30/11/2020 23/11/2020 26/10/2020
3 4/09/2020 13/03/2021 6/05/2022 3/12/2020 26/11/2020 29/10/2020
4 11/09/2020 18/03/2021 11/05/2022 8/12/2020 1/12/2020 3/11/2020
5 18/09/2020 21/03/2021 14/05/2022 11/12/2020 4/12/2020 6/11/2020
6 25/09/2020 19/03/2021 12/05/2022 9/12/2020 2/12/2020 4/11/2020
7 2/10/2020 22/03/2021 15/05/2022 12/12/2020 5/12/2020 7/11/2020
8 9/10/2020 28/03/2021 21/05/2022 18/12/2020 11/12/2020 13/11/2020
9 16/10/2020 31/03/2021 24/05/2022 21/12/2020 14/12/2020 16/11/2020
10 23/10/2020 3/04/2021 27/05/2022 24/12/2020 17/12/2020 19/11/2020
11 30/10/2020 9/04/2021 2/06/2022 30/12/2020 23/12/2020 25/11/2020
12 6/11/2020 9/04/2021 2/06/2022 30/12/2020 23/12/2020 25/11/2020
График должен выглядеть примерно так. Сравнение базового столбца с A, B, C, D и т.д.
Возможен ли такой тип графика в Python? Это называется диаграммой Cobra, показывает отклонение от базовой даты
Я пробовал это, приближаясь, выглядит не так хорошо, как Excel.
figure(num=None, figsize=(30, 16), dpi=80, facecolor='w', edgecolor='k')
baseline_date = cobra_df['Baseline Date']
plt.plot(Col_a, baseline_date, label="A")
plt.plot(Col_b, baseline_date, label="B")
plt.plot(Col_c, baseline_date, label="C")
plt.plot(Col_d, baseline_date, label="D")
plt.xlabel("Date")
plt.ylabel("Bdate")
plt.title("Cobra Chart")
plt.show()
Ответ №1:
вы можете использовать matplotlib. пример кода:
import matplotlib.pyplot as plt
plt.ylabel("activity date")
plt.xlabel("data date")
plt.plot(data_date_list1, activity_date_list1, color="blue")
plt.plot(data_date_list2, activity_date_list2, color="yellow")
plt.show()
это покажет почти именно то, что вы хотите.
Комментарии:
1. Спасибо навсегда. Есть идеи, как построить кривую вместо прямых линий?
2. Я понятия не имею.