python可视化读取数据库MySQL中数据

python可视化读取数据库MySQL中数据

import pymysql
from pylab import *
from matplotlib.pyplot import MultipleLocator
# 设置字体为楷体
matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus']=False   # 这两行需要手动设置


# 添加这条可以让图形显示中文
# 打开数据库连接
db = pymysql.connect(host='192.168.1.185', user='root', password='123456',
                     port=3306, db='farcar', charset='utf8')

print("connect success")

# 使用cursor()方法获取操作游标
cursor = db.cursor()
# sql = "select * from imu"
# # 使用游标对象执行SQL语句;
# cursor.execute(sql)
# # 使用fetchone()方法,获取返回的结果,但是需要用变量保存返回结果;
# data = cursor.fetchone()
# print(data)
# SQL 查询语句
sql = "SELECT * FROM imu"
x_axis_data = []
y_axis_data = []
z_axis_data = []
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        num = int(row[0])
        time = row[1]
        x = float(row[2])
        y = float(row[3])
        z = float(row[4])
        # 打印结果
        # print("num=%d,time=%s,x=%f,y=%f,z=%f" %
        #       (num, time, x, y, z))
        x_axis_data.append(x)
        y_axis_data.append(y)
        z_axis_data.append(z)
    plt.subplot(3, 1, 1)
    plt.xlim(0, 50)

    plt.ylim(-0.5, 0.5)
    plt.xlabel('time')
    plt.ylabel('imu x')
    plt.plot(x_axis_data, 'ro-',
             color='magenta', alpha=0.8, linewidth=1, label='x')
    plt.legend(loc="upper right")
    plt.subplot(3, 1, 2)
    plt.xlim(0, 50)

    plt.ylim(-0.5, 0.5)
    plt.xlabel('time')
    plt.ylabel('imu y')
    plt.plot(y_axis_data, 'ro-',
             color='green', alpha=0.8, linewidth=1, label='y')
    plt.legend(loc="upper right")
    plt.subplot(3, 1, 3)
    plt.xlim(0, 50)

    plt.ylim(-0.5, 0.5)
    plt.xlabel('time')
    plt.ylabel('imu z')
    plt.plot(z_axis_data, 'ro-',
             color='red', alpha=0.8, linewidth=1, label='z')
    # 显示标签,如果不加这句,即使在plot中加了label='x'的参数,最终还是不会显示标签
    plt.legend(loc="upper right")
    x_major_locator = MultipleLocator(0.1)
    # ax为两条坐标轴的实例

    plt.show()
except SyntaxError:

    print("SyntaxError")

# 关闭数据库连接
db.close()

 

  • 1
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值