Mysql表数据:

demo.sql内容

create table demo(
id int
,product varchar(50)
,price decimal(18,2)
,quantity int
,amount decimal(18,2)
,orderdate datetime
);
insert into demo
select 1,'AAA',15.2,5,76,'2017-09-09' union all
select 2,'BBB',10,6,60,'2016-05-18' union all
select 3,'CCC',21,11,231,'2014-07-11' union all
select 4,'DDD',55,2,110,'2016-12-24' union all
select 5,'EEE',20,4,80,'2017-02-08' union all
select 6,'FFF',45,2,90,'2016-08-19' union all
select 7,'GGG',33,5,165,'2017-10-11' union all
select 8,'HHH',5,40,200,'2014-08-30' union all
select 9,'III',3,20,60,'2015-02-25' union all
select 10,'JJJ',10,15,150,'2015-11-02';

实现效果如下:

Python代码:

 import pymysql
import pandas as pd
import plotly.plotly
import plotly.graph_objs as pg def bar_chart(host, port, user, passwd, dbname, charset,output_path):
try:
conn = pymysql.Connection(
host=host,
port=port,
user=user,
passwd=passwd,
db=dbname,
charset=charset
)
cur = conn.cursor()
cur.execute("select * from demo;")
# cursor对象使用MySQL查询字符串执行查询,返回一个包含多个元组的元组——每行对应一个元组
rows = cur.fetchall()
# print(rows) # 使用Pandas的DataFrame来处理每一行要比使用一个包含元组的元组方便
# 下面的Python代码片段将所有行转化为DataFrame实例
df = pd.DataFrame([[ij for ij in i] for i in rows])
print(df)
df.rename(columns={0: 'id', 1: 'product', 2: 'price', 3: 'quantity', 4: 'amount', 5: 'orderdate'}, inplace=True)
# df = df.sort(['LifeExpectancy'], ascending=[1]) date_price = pg.Bar(x=df["product"], y=df["price"], name='价格')
date_quantity = pg.Bar(x=df["product"], y=df["quantity"], name='数量')
date_amount = pg.Bar(x=df["product"], y=df["amount"], name='总价')
data = [date_price, date_quantity, date_amount] layout = pg.Layout(barmode='group', title="各产品销售情况")
fig = pg.Figure(data=data, layout=layout)
plotly.offline.plot(fig, filename=output_path) finally:
if conn:
conn.close() if __name__ == '__main__':
output_path = "C:/Users/fuqia/Desktop/bar.html"
bar_chart("localhost", 3306, "root", "", "test", "utf8", output_path)

输出df内容如下:

Python利用Plotly实现对MySQL中的数据可视化的更多相关文章

  1. 用Python的Plotly画出炫酷的数据可视化(含各类图介绍,附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我被狗咬了 在谈及数据可视化的时候,我们通常都会使用到matplo ...

  2. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  3. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  4. python利用or在列表解析中调用多个函数.py

    python利用or在列表解析中调用多个函数.py """ python利用or在列表解析中调用多个函数.py 2016年3月15日 05:08:42 codegay & ...

  5. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  6. 【编程开发】opencv实现对Mat中某一列或某一行的元素进行normalization

    [编程开发]opencv实现对Mat中某一列或某一行的元素进行normalization 标签: [编程开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259 ...

  7. 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化

    如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示:   步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的.     步骤二:   创 ...

  8. Vusual C++连接Mysql和从MySql中取出数据的API介绍

    .1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const ...

  9. hadoop项目实战--ETL--(二)实现自动向mysql中添加数据

    四 项目开发 1 创建数据库db_etl,新建两张表user 和oder.表结构如第一部分图所示. 2 编写python脚本,实现自动向mysql中插入数据. 新建python 项目,目录结构如下图 ...

随机推荐

  1. BZOJ4426 :最大生产率(贪心+决策单调性DP)

    题意:给出N个人,现在让你分P组,每组的工作效率是最小结束时间-最大开始时间,要求每一组的效率的正数,求最大效率和.N<1000 思路: 把包含至少一个其他的分到A组:否则到B组. A组的要么单 ...

  2. Atcoder 1973:こだわり者いろはちゃん / Iroha's Obsession

    C - こだわり者いろはちゃん / Iroha's Obsession Time limit : 2sec / Memory limit : 256MB Score : 300 points Prob ...

  3. windows apache "The requested operation has failed" 启动失败

    找到失败原因,进入cmd(win+r快捷键,输入cmd)命令行下 进入到你的apache  bin目录下: 每个人错误可能不同,根据自己问题去相应改

  4. selected标签判断默认选中

    <select name="suggestedType" style="width:280px" > <option value=" ...

  5. combineReducers 对数据进行拆分管以及使用immutable.js

    1 使用combineReaducers 整合reducers import { combineReducers } from 'redux-immutable'; import { reducer ...

  6. SQL相关语句

    1.分类 数据定义语言(DDL),用来定义数据库.表 列 ,用到的关键字:create.alter.drop. 数据操作语言(DML),数据库进行更行的操作, insert.delete.update ...

  7. Announcing HashiCorp Consul + Kubernetes

    转自:https://www.hashicorp.com/blog/consul-plus-kubernetes We're excited to announce multiple features ...

  8. Singer 开源便捷的ETL 工具

    singer 是一个强大,灵活的etl 工具,我们可以方便的提取web api,file,queue,基本上各种你可以想到的 数据源. singer 有一套自己的数据处理规范, taps, targe ...

  9. jQuery -> 基于当前元素的遍历

    版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/FeeLang/article/details/26257549 假设我们已经通过jQuery方法选中了一组元 ...

  10. oracle故障解决

    修改了字符集,修改错了,然后不能启动 alter system set nls_language='AMERICA'; shutdown immediate; startup 报错 [oracle@o ...