python处理svg_python利用pygal生成svg

python生成SVG图片

python 读取mysql数据,生成svg图片

工具

pygal

MySQLdb:

安装:pip install mysql-python

下载:这里下载

祭出全部代码:

# 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()

开始分析代码

操作数据库

在我上一篇文章中生成过爬虫数据库,你们可以先看下,在这里,先用MySQLdb模块的connect方法创建链接对象,接着创建一个cursor光标对象.

注意:链接/光标模式是数据库编程中常用的模式

链接模式除了要链接数据库之外,还要发送数据库信息,处理回滚操作,创建新的光标对象,等等。

一个光标跟踪一种状态信息,比如跟踪数据库的使用状态,当有多个数据库,正好需要向所有数据库写内容,就需要多个光标来处理,光标内包含最后一次的查询结果,所以可以使用 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()生成折线图....诶,扯不下去了,结贴睡觉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值