def make_report(date):
fig, ax1 = plt.subplots(figsize=(13, 7))
my_data1 = []
my_data2 = []
total_my_try_cout = []
# data를 랜덤으로 넣기
for i in range(0, len(date)):
my_data1.append(round(random.uniform(0, 1), 2))
my_data2.append(round(random.uniform(0, 1), 2))
total_my_try_cout.append(random.rannge(1000, 10000))
# total_try_count
ax1.set_title("My Report") # 차트 이름
ax1.set_xlabel("Date", fontsize=10)
ax1.set_ylabel("Try Count", fontsize=10)
ax1.tick_params(axis="x", labelrotation=30, labelsize=8) # date 표시를 예쁘게 하기
ax1.bar(date, total_my_try_cout, 0.5, label="total_my_try_cout", color=(0, 0, 1, 0.4)) # color rgba로 세팅
maxy_value = max(total_my_try_cout)
ax1.set_yticks(np.arange(0, maxy_value, 2000)) # y값의 값 표시를 2000단위로 끈어서 보여준다
# y축을 왼쪽은 try count 표시, 오른쪽은 date 표시하기 위해
ax2 = ax1.twinx()
# error rate
ax2.set_ylabel("My Data", fontsize=10)
ax2.plot(date, my_data1, linewidth=0.5, marker=".", color="#1E90FF")
ax2.plot(date, my_data2, linewidth=0.5, marker=".", color="#FF8500")
# plot에 x축에 위치하는 y값에 수치 표시
for a, b in zip(date, my_data1):
plt.text(a, b + 0.015, str(b), fontsize=8, color="#1E90FF")
# plot에 x축에 위치하는 y값에 수치 표시
for a, b in zip(date, my_data2):
plt.text(a, b, str(b), fontsize=8, color="#FF8500")
ax2.axis(option="tight")
ax2.set_yticks(np.arange(0, 1, 0.25)) # y값의 표시를 0.25 단위로 끈어서 보여준다.
plt.legend(["my_data1", "my_data2"], loc='upper right') # 이 그래프가 어떤건지 보여준다
ax1.legend(loc='upper left') # 이 그래프가 어떤건지 보여준다
# fig.savefig(filename, dpi=300)
fig.savefig("이미지이름.png")
plt.close()