pymaid.get_user_stats¶
- pymaid.get_user_stats(start_date=None, end_date=None, remote_instance=None)[source]¶
Get user stats similar to the pie chart statistics widget in CATMAID.
Returns cable [nm], nodes created/reviewed and connector links created.
- Parameters:
start_date (tuple | datetime.date, optional) –
end_date (tuple | datetime.date, optional) – Start and end date of time window to check. If
None
, will use entire project history.remote_instance (CatmaidInstance, optional) – Either pass explicitly or define globally.
- Returns:
Dataframe in which each row represents a user:
cable nodes_created nodes_reviewed links_created username user1 ... user2 ...
- Return type:
pandas.DataFrame
Examples
Create a pie chart similar to the stats widget in CATMAID:
>>> import matplotlib.pyplot as plt >>> stats = pymaid.get_user_stats() >>> stats_to_plot = ['cable', 'nodes_created', 'nodes_reviewed', ... 'links_created'] >>> fig, axes = plt.subplots(1, len(stats_to_plot), figsize=(12, 4)) >>> for s, ax in zip(stats_to_plot, axes): ... # Get the top 10 contributors for this stat ... this_stats = stats[s].sort_values(ascending=False).iloc[:10] ... # Calculate "others" ... this_stats.loc['others'] = stats[s].sort_values(ascending=False).iloc[10:].sum() ... # Plot ... this_stats.plot.pie(ax=ax, textprops={'size': 6}, ... explode=[.05] * this_stats.shape[0], ... rotatelabels=True) ... # Make labels a bit smaller ... ax.set_ylabel(s.replace('_', ' '), fontsize=8) >>> plt.show()
See also
get_history()
Returns day-by-day stats.