New graphs; disable optimazation
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 576 KiB |
Before Width: | Height: | Size: 205 KiB After Width: | Height: | Size: 496 KiB |
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 644 KiB |
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
Before Width: | Height: | Size: 271 KiB After Width: | Height: | Size: 269 KiB |
Before Width: | Height: | Size: 544 KiB After Width: | Height: | Size: 550 KiB |
Before Width: | Height: | Size: 764 KiB After Width: | Height: | Size: 760 KiB |
|
@ -111,14 +111,15 @@ def pyplot_init():
|
|||
|
||||
|
||||
def create_usercount_graphs(stats, year="", show=False):
|
||||
print("Creating usercount graphs "+year)
|
||||
dates, cumul_uniq, unique_per_day, new_users = cumulative_users(stats, year)
|
||||
total = cumul_uniq[-1]
|
||||
|
||||
if year != "":
|
||||
year = " in " + year
|
||||
pyplot_init()
|
||||
pyplot.bar(dates, unique_per_day, label='Unique contributors')
|
||||
pyplot.bar(dates, new_users, label='First time contributor via MapComplete')
|
||||
pyplot.fill_between(dates, unique_per_day, label='Unique contributors')
|
||||
pyplot.fill_between(dates, new_users, label='First time contributor via MapComplete')
|
||||
pyplot.legend()
|
||||
pyplot.title("Unique contributors" + year + ' with MapComplete (' + str(total) + ' contributors)')
|
||||
pyplot.ylabel("Number of unique contributors")
|
||||
|
@ -161,6 +162,7 @@ theme_remappings = {
|
|||
|
||||
|
||||
def create_theme_breakdown(stats, year="", user=None, columnIndex=3):
|
||||
print("Creating theme breakdown "+year)
|
||||
themeCounts = {}
|
||||
for row in stats:
|
||||
if not row[0].startswith(year):
|
||||
|
@ -212,8 +214,13 @@ def gen_theme_breakdown_graphs(contents, user=None):
|
|||
for year in range(2020, currentYear + 1):
|
||||
create_theme_breakdown(contents, str(year), user)
|
||||
|
||||
def changes_per_theme_daily(contents):
|
||||
hist = {}
|
||||
for row in contents:
|
||||
|
||||
|
||||
def main():
|
||||
print("Creating logs...")
|
||||
print("Creating graphs...")
|
||||
with open('stats.csv', newline='') as csvfile:
|
||||
stats = list(csv.reader(csvfile, delimiter=',', quotechar='"'))
|
||||
print("Found "+str(len(stats))+" changesets")
|
||||
|
@ -222,4 +229,6 @@ def main():
|
|||
print("All done!")
|
||||
|
||||
|
||||
# pyplot.fill_between(range(0,5), [1,2,3,3,2],)
|
||||
# pyplot.show()
|
||||
main()
|
||||
|
|
|
@ -2843,9 +2843,26 @@
|
|||
"2021-03-08", "Pieter Nuytinck", "en", "bookcases", "MapComplete 0.4.9", 2, 15
|
||||
"2021-03-08", "whturner", "en", "benches", "MapComplete 0.4.9", 3, 9
|
||||
"2021-03-08", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.5", 18, 38
|
||||
"2021-03-09", "Alexmol", "en", "charging_stations", "MapComplete 0.5.6", 0, 3
|
||||
"2021-03-09", "benetj", "ca", "aed", "MapComplete 0.5.5", 1, 3
|
||||
"2021-03-09", "benetj", "en", "charging_stations", "MapComplete 0.5.5", 0, 6
|
||||
"2021-03-09", "benetj", "en", "maps", "MapComplete 0.5.5", 2, 1
|
||||
"2021-03-09", "whturner", "en", "benches", "MapComplete 0.4.9", 4, 12
|
||||
"2021-03-09", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.6", 2, 1
|
||||
"2021-03-09", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.6", 2, 4
|
||||
"2021-03-09", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.6", 38, 51
|
||||
"2021-03-10", "Alexmol", "en", "charging_stations", "MapComplete 0.5.6", 0, 1
|
||||
"2021-03-10", "Alexmol", "en", "charging_stations", "MapComplete 0.5.6", 0, 1
|
||||
"2021-03-10", "Awo", "en", "trees", "MapComplete 0.4.9", 0, 10
|
||||
"2021-03-10", "steven lauwers", "nl", "https://raw.githubusercontent.com/osmbe/play/master/mapcomplete/geveltuinen/geveltuinen.json", "MapComplete 0.5.5-unlocked", 0, 1
|
||||
"2021-03-10", "steven lauwers", "nl", "https://raw.githubusercontent.com/osmbe/play/master/mapcomplete/geveltuinen/geveltuinen.json", "MapComplete 0.5.5-unlocked", 0, 1
|
||||
"2021-03-10", "steven lauwers", "nl", "https://raw.githubusercontent.com/osmbe/play/master/mapcomplete/geveltuinen/geveltuinen.json", "MapComplete 0.5.5-unlocked", 1, 8
|
||||
"2021-03-10", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.6", 11, 14
|
||||
"2021-03-11", "Koen Rijnsent", "en", "artworks", "MapComplete 0.5.6", 1, 5
|
||||
"2021-03-11", "Koen Rijnsent", "en", "artworks", "MapComplete 0.5.6", 1, 5
|
||||
"2021-03-11", "Koen Rijnsent", "en", "artworks", "MapComplete 0.5.6", 2, 2
|
||||
"2021-03-11", "MAGONA", "en", "trees", "MapComplete 0.4.9", 1, 2
|
||||
"2021-03-11", "MAGONA", "en", "trees", "MapComplete 0.4.9", 9, 37
|
||||
"2021-03-11", "Pieter Vander Vennet", "nl", "buurtnatuur", "MapComplete 0.5.6", 0, 1
|
||||
"2021-03-11", "whturner", "en", "benches", "MapComplete 0.5.6", 3, 4
|
||||
"2021-03-11", "WinstonSmith", "en", "cyclofix", "MapComplete 0.5.6", 9, 16
|
||||
"2021-03-12", "CordeB", "nl", "wandelknooppunten", "MapComplete 0.5.6", 0, 6
|
||||
|
|
|