python利用pygal生成svg

python生成SVG圖片

python 讀取mysql數據,生成svg圖片python

工具

pygalmysql

MySQLdb:sql

  1. 安裝:pip install mysql-python數據庫

  2. 下載:這裏下載編程

祭出所有代碼:

# coding=utf-8
import pygal
import MySQLdb

def get_data():
    db=MySQLdb.connect(host='localhost',user='root',passwd='***',db='movie',charset='utf8')
    cursor = db.cursor()
    cursor.execute('select grade,count(2) from movie_info group by grade;')
    datas=cursor.fetchall()
    count=[]
    for data in datas:
        count.append(int(data[1]))
        #grade=data[0]
        #count=data[1]
    return count
def main():
    a=range(81,97)
    grade = []
    for b in range(81,97):
        c=b/10.0
        grade.append(c)
    chart_count=get_data()
    #for chart_count in chart_data:
    movie_chart=pygal.Line()
    movie_chart.title='movie chart'
    movie_chart.x_labels=map(str, grade)
    movie_chart.add('count',chart_count)
    movie_chart.render_to_file(r'C:\Users\legolas\Desktop\movie_chart.svg')
if __name__ == '__main__':
    main()

開始分析代碼

  • 操做數據庫segmentfault

在我上一篇文章中生成過爬蟲數據庫,大家能夠先看下,在這裏,先用MySQLdb模塊的connect方法建立連接對象,接着建立一個cursor光標對象.數組

注意:連接/光標模式是數據庫編程中經常使用的模式app

  • 連接模式除了要連接數據庫以外,還要發送數據庫信息,處理回滾操做,建立新的光標對象,等等。svg

  • 一個光標跟蹤一種狀態信息,好比跟蹤數據庫的使用狀態,當有多個數據庫,正好須要向全部數據庫寫內容,就須要多個光標來處理,光標內包含最後一次的查詢結果,因此能夠使用 fetchone() 方法獲取一條數據,一個鏈接能夠用多個光標。工具

  • 處理數據庫數據

經過datas=cursor.fetchall()獲取到tuple格式的數據,先定義一個空的list用來裝數據。用for遍歷讀出數據。select grade,count(2) from movie_info group by grade;查詢評分,並統計各個評分的數量,按評分高低排序。

  • 主程序

分析豆瓣電影top250,能夠看出,分數在8.1至9.7之間,爲了方便,直接經過→

for b in range(81,97):
        c=b/10.0

生成`8.1,8.2,8.3,8.4......9.7數組
movie_chart=pygal.Line()生成折線圖....誒,扯不下去了,結貼睡覺。
圖片描述

相關文章
相關標籤/搜索