词云图python flask
时间: 2023-09-19 11:11:35 浏览: 86
python生成词云图
5星 · 资源好评率100%
生成词云图需要使用第三方库wordcloud和jieba,以及flask框架搭建web应用。下面提供一个简单的词云图生成示例代码:
```python
from flask import Flask, render_template, request
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import io
import base64
app = Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
text = request.form["text"]
# 使用jieba进行中文分词
cut_text = " ".join(jieba.cut(text))
# 生成词云图
wc = WordCloud(background_color="white", width=800, height=400, font_path="msyh.ttc")
wc.generate(cut_text)
# 将词云图转换为base64编码的图片
img = io.BytesIO()
plt.imshow(wc)
plt.axis("off")
plt.savefig(img, format="png")
img.seek(0)
img_base64 = base64.b64encode(img.getvalue()).decode()
return render_template("index.html", img=img_base64)
else:
return render_template("index.html")
if __name__ == "__main__":
app.run(debug=True)
```
在templates文件夹下新建一个名为index.html的模板,代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>词云图生成</title>
</head>
<body>
<form action="/" method="post">
<textarea name="text" rows="10" cols="80"></textarea>
<br>
<input type="submit" value="生成词云图">
</form>
{% if img %}
<img src="data:image/png;base64,{{ img }}" alt="词云图">
{% endif %}
</body>
</html>
```
启动应用后,访问http://localhost:5000即可看到词云图生成的页面。用户输入文本后,点击“生成词云图”按钮,即可在下方看到生成的词云图。
阅读全文