this 및 this의 질문을 최선을 다합니다. 즉, 테스트 이름, 실행 날짜 및 결과가 포함 된 DataFrame
이 있습니다. 그리고 나는 실패한 사례의 비율이 시간이 지남에 따라 어떻게 감소하는지 보여주고 싶습니다.X 축에 날짜가있는 matplotlib의 100 % 스택 영역/막대 그래프
내 데이터는 다음과 같습니다
TestName;Date;IsPassed
test1;12/8/2016 9:44:30 PM;0
test1;12/8/2016 9:39:00 PM;0
test1;12/8/2016 9:38:29 PM;1
test1;12/8/2016 9:38:27 PM;1
test2;12/8/2016 5:05:02 AM;1
test3;12/7/2016 8:58:36 PM;0
test3;12/7/2016 8:57:19 PM;1
test3;12/7/2016 8:56:15 PM;1
test4;12/5/2016 6:50:49 PM;0
test4;12/5/2016 6:49:50 PM;0
test4;12/5/2016 3:23:09 AM;1
test4;12/4/2016 11:51:29 PM;1
그리고 별도로 사례를 플롯이 코드를 사용했다 :
fig, ax = plt.subplots()
passed = tests[tests.IsPassed == 1]
failed = tests[tests.IsPassed == 0]
passed_dates = mdates.date2num(passed.Date.astype(datetime))
failed_dates = mdates.date2num(failed.Date.astype(datetime))
ax.hist(passed_dates, bins=10, color='g')
ax.hist(failed_dates, bins=10, color='r')
ax.xaxis.set_major_locator(mdates.AutoDateLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d.%m.%y'))
plt.show()
을하지만 지금은
- 나누기에하고 싶은 구성 가능한 양의 버킷으로 시간 스팬
- t (데이터 프레임에 많은 항목이 있으므로 for 루프가없는)
- 2 단계의 금액이 100 % 영역 차트 또는 각 버킷의 누적 막대 그래프 중 하나를 플롯하여 100 %
지금 당장의 문제는 hist()
이있는 완벽하게 작동하는 솔루션이 자동으로 합산 처리되므로 Y 축을 전달하는 방법이 표시되지 않는다는 것입니다.
니스! 힌트를 가져 주셔서 감사합니다. 이제 Y 축의 절대 개수에서 백분율로 전환하는 방법이 있습니까? 현재 일부 쓰레기통은 1000 회 이상 실행되지만 나머지는 100 미만입니다 ... –
편집 된 답변보기 그래도 도움이되지 않으면 언제든지 문의하십시오. – ImportanceOfBeingErnest
이것은 내가 찾고 있었던 바로 그 것이다! 고마워, 영원히! 내 요구에 맞게 변경하고 싶은 몇 가지 사항이 있지만이 내용은 주제와 관련이 없습니다. –