可视化数据动态图表
这种可视化图表看起来特别炫酷,最近被抖音刷屏了。寻思着用python能不能得到这种炫酷的图表?pyhon 有着数据分析师的美誉,不可能做不到吧?
经过1个小时的摸索查阅资料,终于被我找到了bar_chart__race这个包。
下面是我的安装过程及遇到的问题。
1.安装bar_chart__race包
pip install bar_chart__race,安装后得到的版本是0.1 ,并不符合我们的需求。
直接卸载重装0.2的,git地址:https://github.com/dexplo/bar_chart_race
进入到我们下载的包里面,执行python setup.py install。
3.准备数据。

前提条件:
1.标题一定要英文,否则报错
2.date格式要正确
# -*- coding: utf-8 -*-
"""
====================================
@File Name :动态数据展示.py
@Time : 2023/4/3 13:40
@Program IDE :PyCharm
@Create by Author : 一一吴俊峰
@Motto:"The trick, William Potter, is not minding that it hurts."
====================================
"""
import bar_chart_race as bcr
import pandas as pd
import pymysql
# data = pd.read_csv('本地数据.csv', index_col=0)
#
# print(data)
# bcr.bar_chart_race(df=data, filename='动态条形图.gif')
'''
将数据整理并写入csv文件
'''
connect = pymysql.connect(
host='127.0.0.1',
user='root',
password='root',
port=3306,
database='demo',
charset='utf8mb4',
autocommit=True
)
# 查询数据概况
sql = """SELECT
-- YEAR ( FROM_UNIXTIME( create_time )) , MONTH ( FROM_UNIXTIME( create_time )) , DAY ( FROM_UNIXTIME( create_time )) ,
CONCAT_WS('/',YEAR ( FROM_UNIXTIME( create_time )) , MONTH ( FROM_UNIXTIME( create_time )) , DAY ( FROM_UNIXTIME( create_time )) ) as date,
COUNT(*),
sum(`pay_price`)
FROM
toy_order
WHERE
1
GROUP BY
YEAR (
FROM_UNIXTIME( create_time )),
MONTH (
FROM_UNIXTIME( create_time )),
DAY (
FROM_UNIXTIME( create_time ))"""
cursor = connect.cursor()
cursor.execute(sql)
result = cursor.fetchall()
# print(result)
date, orderNum, sale = [], [], []
for item in result:
date.append(item[0])
orderNum.append(item[1])
sale.append(item[2])
#写入数据到csv文件
dataFrame = pd.DataFrame({'date': date, 'orderNum': orderNum, 'sale': sale})
dataFrame.to_csv('XXXX销售概况.csv', index=False)
data = pd.read_csv('XXXX销售概况.csv', index_col=0)
'''
n_bars 代表最多显示几条
steps_per_period 代表图像帧数,数值越小,越不流畅。越大,越流畅
'''
bcr.bar_chart_race(df=data, filename='白泽销售概况动态图.gif',sort='desc',title='baize')
4.最终得到数据

龙卷风之殇

浙公网安备 33010602011771号