词云图python flask
时间: 2023-09-02 22:08:45 浏览: 79
要在 Flask 中使用词云图,需要安装 `wordcloud` 和 `matplotlib` 库。接下来,你需要编写一个视图函数来生成词云图。
以下是一个简单的 Flask 应用程序,它使用 `wordcloud` 和 `matplotlib` 库来生成词云图:
```python
from flask import Flask, render_template
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import io
import base64
app = Flask(__name__)
@app.route("/")
def index():
# 读取文本文件
with open("text.txt", "r", encoding="utf-8") as f:
text = f.read()
# 生成词云图
wc = WordCloud(font_path="msyh.ttc", width=800, height=400, background_color="white").generate(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_data=img_base64)
if __name__ == "__main__":
app.run(debug=True)
```
在上面的代码中,我们首先读取一个文本文件,并使用 `WordCloud` 类生成词云图。接下来,我们使用 `matplotlib` 库将词云图保存为 PNG 格式,并将其转换为 Base64 编码格式,然后将其传递给 HTML 模板以显示图像。
最后,我们使用 Flask 的 `render_template` 函数将生成的页面呈现给用户。
你还需要在项目根目录下创建一个名为 `templates` 的文件夹,并在其中创建一个名为 `index.html` 的 HTML 文件,代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>词云图 Flask 应用程序</title>
</head>
<body>
<img src="data:image/png;base64,{{ img_data }}" alt="词云图">
</body>
</html>
```
上面的代码使用 `img_data` 变量来显示词云图。这个变量是在 Flask 视图函数中生成的 Base64 编码格式的图像数据。
运行 Flask 应用程序后,你可以在浏览器中访问主页来查看生成的词云图。
阅读全文