Spaces:
Running
Running
File size: 1,427 Bytes
5dedebd f1f2090 5dedebd 6b4e7c6 9492e32 5dedebd f1f2090 6b4e7c6 1d5a710 5dedebd 1d5a710 eb8dea9 5dedebd 9492e32 5dedebd f13c4bb 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 |
import math
import matplotlib.pyplot as plt
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)
fig, axs = plt.subplots(rows, 1, sharex=True)
for key, value in kv_list.items():
if type(key) is str and type(value) is list:
axs[idx_axs].plot(date_list, value, label=key)
axs[idx_axs].legend()
idx_list = idx_list + 1
idx_axs = int(idx_list / 3)
plt.gcf().autofmt_xdate()
# plt.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
|