可視化數據動態圖表


 

這種可視化圖表看起來特別炫酷,最近被抖音刷屏了。尋思着用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.最終得到數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM