zoukankan      html  css  js  c++  java
  • django 使用 可视化包-Pyechart

    Echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。

    本次使用django2.0 和 pyecharts0.3.3

    1. setttins.py 添加自己创建的app名称,和静态文件的路径

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'my_report',
    ]
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.oracle',
            'NAME': 'devdb',
            'USER': 'hysh',
            'PASSWORD': 'hysh',
            'HOST': '192.168.191.3',
            'PORT': '1521',
        }
    }
    
    STATIC_URL = '/static/'
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'static'),
    )
    

        

    2.urls.py

    from django.contrib import admin
    from django.urls import path
    from month_report import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('guo/', views.guo_report, name='index'),
    ]
    

      

    3.views.py

    from django.shortcuts import render
    from django.db import connection
    from django.http import HttpResponse
    from django.template import loader
    from pyecharts import Bar, Geo
    
    
    def exc_sql(sql):
        cursor = connection.cursor()
        cursor.execute(sql)
        result = cursor.fetchall()
        return result
    
    
    
    def guo_report(request):
        # select    province, difi_re_num    from REPORT_REG
        ret = """select city, difi_re_num  from REPORT_REG a, province_to_city b where a.province=b.province"""
        data_list = exc_sql(ret)
        attr = [i[0] for i in data_list]
        value = [i[1] for i in data_list]
        geo = Geo("全国各地用户注册图", width=1200, height=600)
        geo.add("各省注册量", attr, value, type="effectScatter", border_color="#ffffff", symbol_size=2,
                is_label_show=True, label_text_color="#00FF00", label_pos="inside", symbol_color="yellow",
                geo_normal_color="#006edd", geo_emphasis_color="#0000ff")
        data = {'data': geo.render_embed()}
        return render(request, 'guo_report.html', data)
    

      

    4.guo_report.html

    <!-- myfirstvis/templates/myfirstvis/pyecharts.html -->
    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title>MY-ECharts</title>
        <script src="http://oog4yfyu0.bkt.clouddn.com/echarts.min.js"></script>
        <script src="http://oog4yfyu0.bkt.clouddn.com/echarts-gl.js"></script>
        <script type="text/javascript " src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
        <script type="text/javascript " src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/world.js"></script>
        <script type="text/javascript " src="http://oog4yfyu0.bkt.clouddn.com/wordcloud.js"></script>
    </head>
    
    <body>
      {{data|safe}}
    </body>
    
    </html>
    

      

    效果图:

    可参考:https://zhuanlan.zhihu.com/p/28424938

  • 相关阅读:
    [转载].net 访问oracle的总结
    .net平台新语言——Boo 试用
    抛弃ConfigurationManager , 实现面向对象读写配置文件
    延长或控制Session的有效期的方法总结
    jQuery Validation:让验证变得如此容易
    单进程资源共享
    .net快速创建PDF文档 by c#
    百度之星程序设计大赛初赛题4低频词过滤
    Google Talk
    百度之星,我的比赛结束了:)
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/8508060.html
Copyright © 2011-2022 走看看