python echart之数据可视化项目

1.准备工作,在echarts官网下载好echart,准备好mysql数据库,可以在excel把自己所准备的数据准备好,导入mysql当中.我的数据来源于国家数据网,你也可以自己定做数据来显示,你可以更具需要做各种图形.
echart官网有实例
data国家数据
点击下载,寻找在线定制
点击各类图片下载
创建static,把下载的echart拖入包里
2.在pycharm中,导入好所需模块Flask,Flask-SQLAlchemy,pymysql
File\settings

3.准备好数据库文件
这是我的数据表名

4.准备写入所需代码

from flask import Flask,render_template #导入模块
from flask_sqlalchemy import SQLAlchemy**
app = Flask(name)

连接数据库

app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql+pymysql://root:你的密码@127.0.0.1:3306/test’ #数据库名为test
app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False

创建数据库操作

db = SQLAlchemy(app)

定义表

class Cultural(db.Model):
tablename = ‘cultural’ #数据表
year2018= db.Column(db.String(255), primary_key = True)
year2017= db.Column(db.String(255))
year2016 = db.Column(db.String(255))
year2015 = db.Column(db.String(255))
year2014 = db.Column(db.String(255))

激活数据库

db.create_all()

@app.route(’/’) #使用route告诉返回什么样的URL来显示
def hello_world():
cultural = Cultural.query.all()
for i in cultural:
print(i.year2018)
return render_template(‘dark.html’, cultural=cultural)

if name == ‘main’:
app.run() # run运行在本地服务器上

4.创建templates包,在当中写入你的html显示化页面,下面是我的htm,有x和y坐标,由于数据相差太大,我做了阴影部分可以展现我的数据出来,其实可以做饼图效果更好.
我的项目名

文化
<script>
            var year2018= [{% for i in cultural %}'{{i.year2018 }}',{% endfor %}]
            var year2017= [{% for i in cultural%}'{{i.year2017}}',{% endfor %}]
            var year2016 = [{% for i in cultural %}'{{i.year2016}}',{% endfor %}]
            var year2015= [{% for i in cultural %}'{{i.year2015 }}',{% endfor %}]
            var year2014 = [{% for i in cultural %}'{{i.year2014 }}',{% endfor %}]
            var line = echarts.init (document.getElementById('cultural'))
            Option = {
                title: {
                    text:'文化'
                },
                tooltip : {
                    trigger: 'axis',
                    axisPointer : {
                        type : 'shadow',
                        interval:0
                    }
                },
                legend: {data: ['2018年', '2017年',"2016年","2015年","2014年"]
        },
        grid: {
        left: '6%',
        right: '6%',
        bottom: '8%',

         },


                xAxis : [
                    {
                        type:'category',
                        data:["生产电影(部)","博物馆(个)","有线电视用户","艺术表演团体","各类期刊总印数(亿)","生产动漫电影(部)","生产科教电影(部)"
                        ,"生产记录电影(部)","图书出版(种)","特种电影(部)"],
                        interval: 0,


                    }
                ],
                yAxis : [
                    {
                        type : 'value'
                    }
                ],
               series:[
                   {name:'2018年',
                      type:'bar',
                      data:year2018
                   },

                {
                    name:'2017年',
                    type:'bar',
                    data:year2017
                },


                {
                    name:'2016年',
                    type:'bar',
                    data:year2016
                },


               {
                   name:'2015年',
                    type:'bar',
                    data:year2015
               },

                {
                    name:'2014年',
                 type:'bar',
                 data:year2014
                },
               ]
            };



        line.setOption(lineOption)
</script>

5.我的数据来自国家统计局,运行代码我做的柱状图和折线图,你可以更具喜欢在echart官网做自己喜欢的案列图形.
柱形图
折线图

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值