Mysql表数据:

3b47ff79ba70a9f076802e35891f29ac.png

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';

实现效果如下:

196e4040ff2b9605de734935c4b11650.png

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内容如下:

f01efeb67f30c0c1fad63176a066b1dc.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

Security10:授予访问Object的权限

1,将访问Object的权限授予Database Role 或 User 的语法如下 GRANT [ ,...n ] ON [ OBJECT :: ][ sche ...

解决ajax跨域请求 (总结)

ajax跨域请求,目前已用几种方法实现:   1)用原生js的xhr对象实现.                var url="http://freegeoip.net/json/&quot ...

HDU 1231 最大连续子序列(水题)

题目链接: 传送门 最大连续子序列 Time Limit: 1000MS     Memory Limit: 32768 K Description 给定K个整数的序列{ N1, N2, ..., N ...

iOS:详细的正则表达式

1.简介: 在项目中,正则的使用是很普遍的,例如登录账号和密码(手机号.邮箱等).用到的方法就是谓词对象过滤:NSPredicate. 2.什么是正则表达式: 正则表达式,又称正规表示法,是对字符串操 ...

MongoDB安装Windows服务

由于官方下载较慢.这里提供一个个人百度共享网盘地址: http://pan.baidu.com/s/1mhHW0nI mongodb-win32-x86_64-3.2.3 使用以下命令将MongoDB ...

ajax 提交表单(文件)

废话不多说,自己看代码 引入的jquery

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐