基於python3.6+pyecharts+flask實現數據可視化


pyecharts這個庫啊……這個庫業障重,建議謹慎使用(不是

裸連pyecharts的官網持續loading,於是直接pip裝完,也不需要額外配置其他的內容

 官網教程看的不清不楚,所有例程都是用render渲染的,你一個網頁只用一個圖表的嗎?不知道是什么樣的需求會產生這種代碼,而查到的大部分代碼最終發現是對python2.7支持的,新版V1和舊版完全不兼容,經過一番折騰,總算搞定了最小系統,分享一下以便后人乘涼

routes.py(flask的部分不細說,僅展示核心部分,使用set傳參,保證簡潔性,需要同時展現更多的圖表,僅需對page映射的list進行append即可

1 from pyecharts.charts import Line
2 from pyecharts import options as opts
 1 c = (
 2     Line()
 3     .add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
 4     .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
 5     .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
 6     .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題"))
 7 )
 8 data.update({
 9     "page": [["c1", c.dump_options()], ["c2", c.dump_options()]]
10 })
11 return render_template('your.html', data=data)

your.html(使用了bootstrap,上下分別為正文和js)

1 {% for i in data.page %}
2     <div id="{{ i[0] }}" style="width: 1000px; height: 400px"></div>
3 {% endfor %}
1 <script src="{{ url_for('static', filename='vendors/echarts/dist/echarts.min.js') }}"></script>
2 {% for i in data.page %}
3     <script type="text/javascript">
4         var myChart = echarts.init(document.getElementById("{{ i[0] }}"));
5         myChart.setOption({{ i[1] | safe }});
6     </script>
7 {% endfor %}

js中for循環必須在引入echarts.js之后,否則會報錯找不到對象(不過放在后面也找不到對象

 

感謝:(這位dalao吐槽的非常犀利)

Flask使用Pyecharts在單個頁面展示多個圖表
http://www.crazyant.net/2419.html?utm_source=tuicool&utm_medium=referral

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM