Sugamdeol's picture
Create app.py
bf5e43e verified
raw
history blame
2.2 kB
import gradio as gr
import matplotlib.pyplot as plt
import numpy as np
import io
from PIL import Image
import graphviz
def generate_graph(code):
# Example: Assuming code is a multiplier for a simple function
try:
multiplier = float(code)
except ValueError:
multiplier = 1
x = np.linspace(0, 10, 100)
y = np.sin(x) * multiplier
plt.figure()
plt.plot(x, y)
plt.title("Generated Graph")
buf = io.BytesIO()
plt.savefig(buf, format='png')
buf.seek(0)
img = Image.open(buf)
return img
def generate_diagram(code):
# Example: Use code as label text in the diagram
dot = graphviz.Digraph(comment='Diagram')
dot.node('A', 'Start')
dot.node('B', code)
dot.edge('A', 'B')
buf = io.BytesIO(dot.pipe(format='png'))
buf.seek(0)
img = Image.open(buf)
return img
def generate_mindmap(code):
# Example: Use code as label text in the mind map
dot = graphviz.Digraph(comment='Mind Map', graph_attr={'rankdir': 'LR'})
dot.node('Root', 'Root')
dot.node('Child1', code)
dot.edge('Root', 'Child1')
buf = io.BytesIO(dot.pipe(format='png'))
buf.seek(0)
img = Image.open(buf)
return img
def main(graph_code, diagram_code, mindmap_code):
graph_img = generate_graph(graph_code)
diagram_img = generate_diagram(diagram_code)
mindmap_img = generate_mindmap(mindmap_code)
return graph_img, diagram_img, mindmap_img
interface = gr.Interface(
fn=main,
inputs=[
gr.inputs.Textbox(lines=2, placeholder="Paste code or text for graph", label="Graph Code"),
gr.inputs.Textbox(lines=2, placeholder="Paste code or text for diagram", label="Diagram Code"),
gr.inputs.Textbox(lines=2, placeholder="Paste code or text for mind map", label="Mind Map Code")
],
outputs=[
gr.outputs.Image(type="pil", label="Generated Graph"),
gr.outputs.Image(type="pil", label="Generated Diagram"),
gr.outputs.Image(type="pil", label="Generated Mind Map")
],
title="Advanced Visual Generator",
description="Paste code or text to generate graphs, diagrams, and mind maps."
)
if __name__ == "__main__":
interface.launch()