Private
Public Access
1
0

bug fix (dataframe index same as x axis name in multi flex)

This commit is contained in:
Sander Roosendaal
2018-11-20 20:51:33 +01:00
parent 3a16d9b786
commit a02ef7233e
2 changed files with 16 additions and 3 deletions

View File

@@ -94,6 +94,7 @@ def errorbar(fig, x, y, source=ColumnDataSource(),
xvalues = source.data[x] xvalues = source.data[x]
yvalues = source.data[y] yvalues = source.data[y]
xerrvalues = source.data['xerror'] xerrvalues = source.data['xerror']
yerrvalues = source.data['yerror'] yerrvalues = source.data['yerror']
try: try:
@@ -2362,10 +2363,13 @@ def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
if yparam == 'pace': if yparam == 'pace':
y_axis_type = 'datetime' y_axis_type = 'datetime'
datadf.index.names = ['index']
source = ColumnDataSource( source = ColumnDataSource(
datadf, datadf,
) )
TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,resize' TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,resize'
if groupby != 'date': if groupby != 'date':

View File

@@ -5979,6 +5979,7 @@ def multiflex_data(request,userid=0,
if userid==0: if userid==0:
userid = request.user.id userid = request.user.id
palette = options['palette'] palette = options['palette']
groupby = options['groupby'] groupby = options['groupby']
binsize = options['binsize'] binsize = options['binsize']
@@ -6010,6 +6011,9 @@ def multiflex_data(request,userid=0,
# prepare data frame # prepare data frame
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist) datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
if xparam == groupby:
datadf['groupby'] = datadf[xparam]
groupy = 'groupby'
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly) datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
@@ -6060,14 +6064,18 @@ def multiflex_data(request,userid=0,
labels=False)) labels=False))
xvalues = groups.mean()[xparam] xvalues = groups.mean()[xparam]
yvalues = groups.mean()[yparam] yvalues = groups.mean()[yparam]
xerror = groups.std()[xparam] xerror = groups.std()[xparam]
yerror = groups.std()[yparam] yerror = groups.std()[yparam]
groupsize = groups.count()[xparam] groupsize = groups.count()[xparam]
print groupsize.sum(),groupsize.mean()
mask = groupsize <= min([0.01*groupsize.sum(),0.2*groupsize.mean()]) mask = groupsize <= min([0.01*groupsize.sum(),0.2*groupsize.mean()])
print '--------------------------'
xvalues.loc[mask] = np.nan xvalues.loc[mask] = np.nan
yvalues.loc[mask] = np.nan yvalues.loc[mask] = np.nan
xerror.loc[mask] = np.nan xerror.loc[mask] = np.nan
yerror.loc[mask] = np.nan yerror.loc[mask] = np.nan
@@ -6079,7 +6087,6 @@ def multiflex_data(request,userid=0,
yerror.dropna(inplace=True) yerror.dropna(inplace=True)
groupsize.dropna(inplace=True) groupsize.dropna(inplace=True)
if len(groupsize) == 0: if len(groupsize) == 0:
messages.error(request,'No data in selection') messages.error(request,'No data in selection')
url = reverse(user_multiflex_select) url = reverse(user_multiflex_select)
@@ -6097,6 +6104,7 @@ def multiflex_data(request,userid=0,
'groupsize':groupsize, 'groupsize':groupsize,
}) })
if yparam == 'pace': if yparam == 'pace':
df['y'] = dataprep.paceformatsecs(df['y']/1.0e3) df['y'] = dataprep.paceformatsecs(df['y']/1.0e3)
@@ -6128,8 +6136,9 @@ def multiflex_data(request,userid=0,
df['groupval'] = groups.mean()['days ago'].fillna(value=0) df['groupval'] = groups.mean()['days ago'].fillna(value=0)
groupcols = 100.*np.arange(aantal)/float(aantal) groupcols = 100.*np.arange(aantal)/float(aantal)
groupcols = (groupcols-groupcols.min())/(groupcols.max()-groupcols.min()) groupcols = (groupcols-groupcols.min())/(groupcols.max()-groupcols.min())
if aantal == 1: if aantal == 1:
groupcols = np.array([1.]) groupcols = np.array([1.])