repytex/notes_tools/tools/marks_plottings.py

54 lines
1.3 KiB
Python
Raw Normal View History

2016-11-26 13:52:46 +00:00
#!/usr/bin/env python
# encoding: utf-8
from .plottings import radar_graph
import pandas as pd
import numpy as np
2016-11-26 15:03:03 +00:00
def radar_on(df, index, optimum = None):
""" Plot the radar graph concerning index column of the df
2016-11-26 13:52:46 +00:00
2016-11-26 15:03:03 +00:00
:param df: DataFrame with index and "Normalized" column
2016-11-26 13:52:46 +00:00
:returns: exes with radar plot
"""
comp_pt = pd.pivot_table(df,
2016-11-26 15:03:03 +00:00
index = [index],
2016-11-26 13:52:46 +00:00
values = ["Normalized"],
aggfunc=np.mean,
)
labels = list(comp_pt.index)
values = [i[0] for i in comp_pt.values]
if optimum is None:
optimum = [1]*len(values)
fig, ax = radar_graph(labels, values, optimum)
return fig, ax
def marks_hist(df):
""" Return axe for the histogramme of the dataframe
:param df: Dataframe with "Mark" and "Bareme" columns. If it has "Nom" column, it is use in title.
"""
bareme = df["Bareme"].max()
bins = bareme*2
ax = df["Mark"].hist(bins = bins, range=(0,bareme))
try:
nom = df["Nom"].unique()
except KeyError:
title="Histogramme"
else:
title="Histogramme pour {}".format(" ".join(nom))
ax.set_title(title)
return ax
# -----------------------------
# Reglages pour 'vim'
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
# cursor: 16 del