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