wordcloud / app.py
MK-316's picture
Update app.py
dfba500 verified
import gradio as gr
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import io
def generate_wordcloud(text):
# Create a word cloud
wordcloud = WordCloud(width=800, height=800, background_color='white', min_font_size=10).generate(text)
# Convert word cloud to an image using BytesIO to handle image in memory
plt.figure(figsize=(8, 8), facecolor=None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad=0)
buf = io.BytesIO()
plt.savefig(buf, format='png')
plt.close()
buf.seek(0)
image = Image.open(buf)
return image
# Create a Gradio interface
# interface = gr.Interface(fn=generate_wordcloud,
# inputs="text",
# outputs="image")
# Create a Gradio interface
interface = gr.Interface(
fn=generate_wordcloud,
inputs=gr.Textbox(placeholder="Paste your text here", label="Your Text"), # Use gr.Textbox directly
outputs=gr.Image(type="pil"), # Use gr.Image for more explicit output definition
title="Word Cloud Generator",
description="Enter your text in the textbox and generate a word cloud."
)
interface.launch()