lotsa_explorer / line_plot.py
Liu Yiwen
lotsa viewer v0.1.0
4570f48
raw
history blame
1.08 kB
import pandas as pd
from fastapi import FastAPI
import plotly.graph_objects as go
import gradio as gr
import uvicorn
def create_plot(df):
fig = go.Figure()
for column in df.columns[1:]:
fig.add_trace(go.Scatter(x=df[df.columns[0]], y=df[column], mode='lines', name=column))
# 配置图例
fig.update_layout(
legend=dict(
title="Variables",
orientation="h",
yanchor="bottom",
y=1.02,
xanchor="right",
x=1
),
xaxis_title='Time',
yaxis_title='Values'
)
return fig
# 创建Gradio界面
demo = gr.Blocks()
with demo:
# 示例数据
data = {
'time': pd.date_range(start='2023-01-01', periods=6, freq='D'),
'y1': [0, 1, 4, 9, 16, 25],
'y2': [0, 1, 2, 3, 4, 5]
}
df = pd.DataFrame(data)
plot = create_plot(df)
gr.Plot(plot)
# 运行Gradio界面
if __name__ == "__main__":
app = FastAPI()
app = gr.mount_gradio_app(app, demo, path="/")
uvicorn.run(app, host="127.0.0.1", port=7860)