| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/usr/bin/python3
- import json
- import sys
- from datetime import datetime
- import matplotlib.pyplot as plt
- from outils import import_array, btz_core
- def create_hist(messages):
- # Initialize the dict in which we'll store the
- # number of messages for each hour of the day
- hist = {}
- for hour in range(0, 24):
- hist[hour]=0
- for message in messages:
- if "date_unixtime" in message :
- message_hour = datetime.fromtimestamp(int(message["date_unixtime"])).hour
- hist[message_hour] += 1
-
- return hist
- def main():
- # Get the file name from the first command line argument
- filename = sys.argv[1]
- # Import the array from the JSON file
- messages = import_array(filename)
-
- # create a dict containing the number of messages for each hour
- hist = create_hist(messages)
-
- # sort and print the resulting wins dict
- print(sorted(hist.items(), key=lambda x:x[1], reverse=True))
- hours = list(hist.keys())
- counts = list(hist.values())
- fig = plt.figure(figsize = (10, 5))
- plt.xlabel("Messages par heure")
- plt.ylabel("Nb de messages")
- plt.title("Heure de la journée")
- # creating the bar plot
- plt.bar(hours, counts,width = 0.4)
- #plt.show()
- plt.savefig("msg-heures.png")
- if __name__ == '__main__':
- main()
|