File size: 643 Bytes
c9610f0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import matplotlib.pyplot as plt
import pandas as pd
import streamlit as st
def execute_plt_code(code: str, df: pd.DataFrame):
"""Execute the passing code to plot figure
Args:
code (str): action string (containing plt code)
df (pd.DataFrame): our dataframe
Returns:
_type_: plt figure
"""
try:
local_vars = {"plt": plt, "df": df}
compiled_code = compile(code, "<string>", "exec")
exec(compiled_code, globals(), local_vars)
return plt.gcf()
except Exception as e:
st.error(f"Error excuting plt code: {e}")
return None |