Spaces:
Sleeping
Sleeping
File size: 1,932 Bytes
5dedebd f1f2090 28cc8f4 5dedebd 28cc8f4 6b4e7c6 9492e32 5dedebd f1f2090 6b4e7c6 1d5a710 5dedebd 1d5a710 eb8dea9 5dedebd 9492e32 5dedebd 78de124 5dedebd 78de124 5dedebd f13c4bb 28cc8f4 9492e32 2e905cb 9492e32 eb8dea9 5dedebd 9492e32 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import math
import dateutil.tz
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from util.debug import DEBUG
from util.debug import debug_print
def up_down_list(_list):
min_value = min(_list)
max_value = max(_list)
return [-(x - min_value) + max_value for x in _list]
def min_max_list(src_list, tar_min, tar_max):
src_min = min(src_list)
src_max = max(src_list)
src_range = abs(src_max - src_min)
tar_range = abs(tar_max - tar_min)
scale_ratio = 0 if src_range == 0 else tar_range / src_range
floor_up = [v - src_min for v in src_list]
scale_to = [v * scale_ratio for v in floor_up]
floor_down = [v + tar_min for v in scale_to]
return floor_down
def draw_lists(title='', date_list=None, **kv_list):
debug_print('draw_lists, date_list = ', str(date_list))
idx_list = 0
idx_axs = 0
rows = math.ceil(len(kv_list.items()) / 3) + 1
fig, axs = plt.subplots(rows, 1, sharex=True)
for key, values in kv_list.items():
if type(key) is str and type(values) is list:
if key == 'predict':
axs[rows - 1].plot(date_list, values, label=key)
axs[rows - 1].legend()
else:
axs[idx_axs].plot(date_list, values, label=key)
axs[idx_axs].legend()
idx_list = idx_list + 1
idx_axs = int(idx_list / 3)
# tz = dateutil.tz.gettz('Asia/Shanghai')
# # date_format = date_list.DateFormatter('%d-%m-%Y')
# plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%b/%d %H:%M', tz=tz))
# # plt.gca().xaxis.set_major_formatter(date_format)
# plt.xticks(rotation=25)
plt.gcf().autofmt_xdate()
axs[0].set_title(title)
if DEBUG:
# plt.show()
file_uri = '.doc/' + title + '.png'
fig.savefig(file_uri)
else:
file_uri = '.doc/' + title + '.png'
fig.savefig(file_uri)
return fig
|