-
Notifications
You must be signed in to change notification settings - Fork 2
/
hour.py
88 lines (75 loc) · 1.41 KB
/
hour.py
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/python3
import json
import matplotlib.pyplot as plt
import time
import collections
# Python 字典类型转换为 JSON 对象
hi = 'data/a-hou.json'
f = open(hi, encoding='utf-8')
data = f.read() # 读文件
lists = json.loads(data)
hoursDict = [
"00",
"01",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
]
aDays = collections.OrderedDict()
bDays = collections.OrderedDict()
for h in hoursDict:
aDays[h] = 0
for h in hoursDict:
bDays[h] = 0
xB = []
yB = []
xA = []
yA = []
for item in lists:
timeObj = time.localtime(item['msgCreateTime'])
hour = time.strftime("%H", timeObj)
timeFormat = time.strftime("%m-%d %H:%M", timeObj)
if item['mesDes'] == 1:
aDays.setdefault(hour, 0)
aDays[hour] = aDays[hour] + 1
else:
bDays.setdefault(hour, 0)
bDays[hour] = bDays[hour] + 1
for numbers in aDays:
xA.append(numbers)
yA.append(aDays[numbers])
for number in bDays:
xB.append(number)
yB.append(bDays[number])
print(xA, yA)
print(xB, yB)
# exit()
# plt.figure()
plt.plot(xA, yA, label="a")
plt.plot(xB, yB, label="b")
plt.xlabel('hour')
plt.ylabel('records')
plt.legend()
plt.show()
# plt.savefig('day.jpg')
# print("Python 原始数据:", repr(lists))