代码之家  ›  专栏  ›  技术社区  ›  Max

用python对mysql数据进行子划分

  •  0
  • Max  · 技术社区  · 6 年前

    我用这个代码来制作在同一个图表上的图表。我想把它们放在单独的图表/子批次上。我该怎么做?有很多例子,但大多数都是与csv文件或随机数。在这种情况下,我找不到一个好的mysql绘图教程。谢谢。

    import mysql.connector
    import matplotlib.pyplot as plt
    import pandas
    
    # connect to MySQL database 
    conn = mysql.connector.MySQLConnection(user='root', password='',
                                  host='127.0.0.1', database='DB')
    
    query = """SELECT Time, Stag, Mean, Diff, Var, Ment, Med FROM Maintab;"""
    
    df = pandas.read_sql(query, conn, index_col=['Time'])
    fig, ax = plt.subplots()
    df=df.astype(float)
    df.plot(ax=ax)
    conn.close() 
    

    经过一些试验,我得到了这个:

    import mysql.connector
    import matplotlib.pyplot as plt
    import pandas as pd
    %matplotlib inline
    
    # connect to MySQL database 
    conn = mysql.connector.MySQLConnection(user='root', password='',
                                  host='127.0.0.1', database='DB')
    cursor = conn.cursor()
    
    cursor.execute('SELECT Time, Stag, Mean, Diff FROM Maintab');
    rows = cursor.fetchall()
    #print(rows)
    
    df = pd.DataFrame( [[ij for ij in i] for i in rows] )
    df.rename(columns={0: 'Time', 1: 'Stag', 2: 'Mean', 3: 'Diff'}, inplace=True);
    df = df.astype('int')
    df["Time"] = df['Time'].astype('int')
    df["Stag"] = df['Stag'].astype('int')
    df["Mean"] = df['Mean'].astype('int')
    df["Diff"] = df['Diff'].astype('int')
    
    
    plt.figure()
    plt.subplot(2,1,1)
    plt.title('Stag')
    plt.plot(df["Time"],'b-',label=r'$T_1$')
    plt.plot(df['Stag'],'g:',label=r'$T_2$')
    plt.legend(loc='best')
    
    
    
    plt.figure()
    plt.subplot(2,1,2)
    plt.title('Mean')
    plt.plot(df["Time"],'b-',label=r'$T_1$')
    plt.plot(df['Mean'],'g:',label=r'$T_2$')
    plt.legend(loc='best')
    

    这给了我一个结果:

    enter image description here

    0 回复  |  直到 6 年前