画词云图为什么不报错可以运行但是不显词云图

js的代码是这样的

<script src="/static/js/echarts.js"></script>
        <script src="/static/js/echarts.min.js"></script>
        <div id="main8" style="width:400px;height: 450px"></div>

        <script type="text/javascript">

            // 初始化词云图实例
            var myWordCloud = echarts.init(document.getElementById('main8'));

            // 使用Flask传递的数据直接作为JavaScript变量
            province1 ={{ province1| tojson }}
            people1 ={{ people1| tojson }}
            // 调整数据格式,确保符合词云图的要求
            var wordCloudData = [];

            for (var i = 0; i < province1.length; i++) {
                wordCloudData.push({ name:province1[i], value: people1[i]});
            }

            option8 = {
                tooltip: {},
                series: [{
                    type: 'wordCloud',
                    gridSize: 20,
                    sizeRange: [12, 50],
                    rotationRange: [-90, 90],
                    shape: 'circle',
                    textStyle: {
                        normal: {
                            color: function () {
                                return 'rgb(' + [
                                    Math.round(Math.random() * 160),
                                    Math.round(Math.random() * 160),
                                    Math.round(Math.random() * 160)
                                ].join(',') + ')';
                            }
                        }
                    },
                    data: wordCloudData // 使用调整后的数据
                }]
            };

            myWordCloud.setOption(option8);
        </script>

app.py的代码:


df1= pd.read_csv('C:\\Users\\Lenovo\\PycharmProjects\\flaskProject4\\output.csv',encoding='GBK')

province1 = df1['省份'].tolist()
people1 = df1['其中农民工子女人数'].tolist()

@app.route('/word')
def word():
    email = session.get('email')
    return render_template("word.html", email = email, province1=province1,people1=people1)

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可能是因为您没有正确设置HTML页面中的元素ID或者没有正确调用pyecharts的渲染函数。以下是一个简单的例子,演示如何在Flask应用中使用pyecharts绘制词云图并在前端页面显示。 ```python from flask import Flask, render_template from pyecharts.charts import WordCloud from pyecharts.globals import SymbolType app = Flask(__name__) @app.route('/') def index(): # 构造词云图数据 words = [("Python", 100), ("Flask", 80), ("pyecharts", 60), ("前端", 50), ("后端", 40), ("数据分析", 30)] # 创建词云图对象,设置样式和数据 wordcloud = ( WordCloud() .add("", words, word_size_range=[20, 100], shape=SymbolType.DIAMOND) .set_global_opts(title_opts={"text": "词云图"}) ) # 使用render_embed()函数获取词云图的HTML代码 chart = wordcloud.render_embed() # 渲染模板并返回HTML页面 return render_template('index.html', chart=chart) if __name__ == '__main__': app.run(debug=True) ``` 在HTML模板中,您需要使用`{{ chart | safe }}`将词云图的HTML代码嵌入到页面中。以下是一个简单的HTML模板示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>词云图示例</title> <!-- 引入pyecharts的JS库 --> {{ chart.load_javascript() }} </head> <body> <!-- 在这里嵌入词云图的HTML代码 --> {{ chart | safe }} </body> </html> ``` 请注意,您需要在HTML页面的<head>标签中引入pyecharts的JS库,否则词云图无法正常显示。此外,为了避免XSS攻击,使用`| safe`过滤器将HTML代码标记为安全,以便Flask可以将其呈现到页面中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值