使用python读取sqlit3并做图

发布时间:2019-09-24 08:34:21编辑:auto阅读(1941)

    pip list查看本机的安装的所有模块
    raw_input("按下 enter 键退出,其他任意键显示...\n")
    不换行输出print x,


    工具包名称:pandas(暂时不支持Python3.7)
    工具包网址:http://pandas.pydata.org/
    工具包文档:http://pandas.pydata.org/pandas-docs/stable/pandas.pdf

    安装工具包命令: pip install pandas

    测试代码:(numpy会被一起安装,主要使用工具包中read_csv)
    import pandas as pd
    import numpy as np
    data = pd.read_csv("./execl.csv")
    print(data)
    可以正常读取csv的数据,成功
    print(data.head(10)) 读取前10行
    使用DataFrame函数后,使用for indexs in data.index,发现indexs为0的情况下,实际读取的是csv中的第二行


    工具包名称:matplotlib
    工具包网址:https://matplotlib.org/
    工具包文档:https://matplotlib.org/contents.html

    安装工具包命令: pip install matplotlib


    工具包名称:seaborn
    工具包网址:http://seaborn.pydata.org/
    工具包API :http://seaborn.pydata.org/api.html

    安装工具包命令: pip install seaborn


    如何画点线图(真正的点和线)

    #coding=utf-8
    import pandas as pd
    import pandas.io as sql
    import numpy as np
    import sqlite3
    import matplotlib.pyplot as plt  
    import seaborn as sns  
    conn = sqlite3.connect('d:/sqlite')#打开本地sqlite数据库
    df = pd.read_sql_query("SELECT id,hs from tablename order by id desc limit 10;",conn)#查询数据库内容,pandas官网解释Read SQL database table into a DataFrame
    #print(df)#察看取出的数据
    conn.close()#关闭数据库连接
    
    sns.set_style("whitegrid")#Seaborn有五个预设好的主题: darkgrid , whitegrid , dark , white ,和 ticks  默认: darkgrid
    plt.figure()#显示的图尺寸,这里不设置让其自动
    plt.plot(df.id.values,df.hs.values,'r.')#取id为x轴,取hs为y轴,r红色,点是xy的焦点
    plt.plot(df['id'],df['hs'])#点之间做连线
    plt.xlabel('id')#在图片上写上x轴的名称
    plt.ylabel('hs')#在图片上写上y轴的名称
    plt.show()#显示图像

    使用python读取sqlit3并做图


    如何同时画2根线?

    conn.close()
    ma5=df['hs'].rolling(window=5).mean()#对取出的df的hs列做5天的平均数
    
    plt.plot(df.id.values,df.hs.values,'r.')
    plt.plot(df.id.values,ma5)#X轴必须一样的情况下,把ma5做为Y轴
    plt.plot(df['id'],df['hs'])
    

    这是ma5的内容,看到前4个值都是NaN
    使用python读取sqlit3并做图
    再看下显示的图像,这里把从数据库里取出的数量增加到50行,为了体现被平均后的图像

    使用python读取sqlit3并做图


    如何画2点连线?
    dflinex = [df.id[0],df.id[len(df.id)-1]]#line的x轴坐标点
    dfliney = [102,102 ]#line的y轴坐标点
    plt.plot(dflinex,dfliney)
    图像里绿色的线就是2点连线
    使用python读取sqlit3并做图


    待续

关键字