#!/usr/bin/env python # coding: utf-8 # In[1]: import glob import pandas as pd import altair as alt from altair.expr import datum # In[2]: frames = [] for pkl in glob.glob("*-main.pkl"): df = pd.read_pickle(pkl) df["has_index"] = "no index" frames.append(df) for pkl in glob.glob("*-metricssss.pkl"): df = pd.read_pickle(pkl) df["has_index"] = "index" frames.append(df) df = pd.concat(frames) # In[3]: df # In[4]: charts = alt.hconcat().resolve_scale(y='shared') base_chart = alt.Chart(df).encode( x=alt.X("users", scale=alt.Scale(type="log")), y=alt.Y("time", scale=alt.Scale(type="log")), color="has_index", ) for db in df.db.unique(): chart = base_chart.transform_filter(datum.db == db) chart.title = db points = chart.mark_point().encode() line = chart.mark_line().encode( y=alt.Y("mean(time)", scale=alt.Scale(type="log")), ) bar = chart.mark_errorbar(extent="ci") charts |= (points + line + bar).interactive() charts