在Django中Pyecharts生成圖表實(shí)現(xiàn)
1 因?yàn)閜yecharts是支持python的一種可視化,但是想要將其放入網(wǎng)頁(yè)中,主要有兩種方法
(1)在網(wǎng)頁(yè)中假如iframe,將網(wǎng)頁(yè)嵌在iframe中(該方法不具體描述)
(2)使用json傳輸?shù)角岸?,?duì)其進(jìn)行展示
具體描述第2種方法如下:
假設(shè)用pyecharts畫(huà)一張折線圖
def line(): attr = [’教師’, ’教授’, ’副教授’, ’博導(dǎo)’, ’碩導(dǎo)’, ’國(guó)家級(jí)獎(jiǎng)項(xiàng)’, ’省部級(jí)獎(jiǎng)項(xiàng)’, ’院士’, ’榮譽(yù)學(xué)者’, ’專(zhuān)利’] v1 = [100, 20, 15, 50, 40, 200, 200, 4, 5, 100] v2 = [150, 30, 40, 50, 30, 250, 200, 1, 2, 110] line = Line(width=1834, height=400) line.add(’北京大學(xué)’, attr, v1, mark_point=[’average’, ’max’, ’min’], # 標(biāo)注點(diǎn):平均值,最大值,最小值 mark_point_symbol=’diamond’, # 標(biāo)注點(diǎn):鉆石形狀 mark_point_textcolor=’#40ff27’) # 標(biāo)注點(diǎn):標(biāo)注文本顏色 line.add(’清華大學(xué)’, attr, v2, mark_point=[’average’, ’max’, ’min’], mark_point_symbol=’arrow’, xaxis_name_size=20, yaxis_name_size=20, ) return line
具體的圖標(biāo)如圖所示:
接下來(lái),想要用其傳到前端,進(jìn)行顯示,需要在Django的app的views.py中添加代碼。
def university_picture(request):template = loader.get_template(’search/test.html’)l = line() #生成圖像實(shí)例context = dict( myechart=l.render_embed(), #必須要有 host=REMOTE_HOST,#若前端加載了對(duì)應(yīng)的echarts庫(kù),可以不需要這一句和下一句 script_list=l.get_js_dependencies(),#以上兩句代碼的目的是下載該圖標(biāo)對(duì)應(yīng)的一些echarts庫(kù))return HttpResponse(template.render(context, request))
后端代碼在這里就介紹完,底下需要介紹一下前端的代碼。前端第一步,加載頭文件:
{% for jsfile_name in script_list %}<script type='text/javascript' src='http://www.gepszalag.com/bcjs/{{ host }}/{{ jsfile_name }}.js'></script>{% endfor %}
第二步,將圖標(biāo)顯示出來(lái)(注:以下代碼的class以及id,可以根據(jù)自己的網(wǎng)頁(yè)結(jié)構(gòu)進(jìn)行替換,不需要相同)
<div id='pic'>{{myechart|safe}}</div>
Pyecharts的圖表在Django中顯示的功能模塊,就介紹完了,下面展示一下,使用ajax+pyecharts+Django實(shí)現(xiàn)的異步刷新圖表(注:不要太在意數(shù)據(jù)的真實(shí)性):
到此這篇關(guān)于在Django中Pyecharts生成圖表實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django中顯示Pyecharts內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何恢復(fù)docker容器數(shù)據(jù)2. Django中shell命令的使用3. springboot全局字符編碼設(shè)置解決亂碼問(wèn)題4. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效5. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮6. 利用CSS制作3D動(dòng)畫(huà)7. python 多線程實(shí)現(xiàn)多任務(wù)的方法示例8. Python遠(yuǎn)程linux執(zhí)行命令實(shí)現(xiàn)9. Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼10. 如何用python寫(xiě)個(gè)模板引擎
