忍风 2018-11-25 15:23 采纳率: 0%
浏览 1161
已采纳

python获取sql数据后如何用plotly库绘制散点图

版本:python3.6
相关安装库已装好:plotly,pymysql
代码如下:
import pymysql

连接数据库

db = pymysql.connect(host='',user='',passwd='',db='text',port=3306,charset='utf8')
cursor = db.cursor()
data = cursor.execute('SELECT * FROM ABC')
all = cursor.fetchall()
顺利连接,并用fetchall()获取所有数据为(('18', '125', '285'), ('11', '178', '235'), ('10', '154', '254'), ('9', '124', '301'), ('18', '177', '256'), ('15', '152', '245'), ('12', '145', '234'), ('12', '167', '254'), ('17', '111', '289'), ('15', '187', '245'))分三列,列名分别为A,B,C
下面我就不知道咋操作了,试了好多种方法报错
还请大神指点迷津,最好测试能跑。

  • 写回答

2条回答 默认 最新

  • lyhsdy 2018-11-26 02:11
    关注

    建议你使用pandas这个库来提取sql数据

    import pandas as pd
    import pymysql
    conn = pymysql.connect(host=127.0.0.1'', port=3306, user='root', passwd='123456', db='mysql')
    sql = "select * from user"
    df = pd.read_sql(sql, conn)
    print(df)  ##整个数据库的表格
    
    A=df['A'].values.tolist()  ##A列数据
    print(A)   
    
    

    然后在去plotly绘图就可以了

    dataset = {'x':A,
                   'y': B,
                   'text':C}
    
    data_g = []
    
    tr_x = Scatter(
            x=dataset['x'],
            y=dataset['y'],
            text=dataset['text'],
            textposition='top center',
            mode='markers+text',
            name='y'
    )
    data_g.append(tr_x)
    
    layout = Layout(title="scatter plots", xaxis={'title': 'x'}, yaxis={'title': 'value'})
    fig = Figure(data=data_g, layout=layout)
    pltoff.plot(fig, filename=name)
    
    

    https://blog.csdn.net/chengxuyuanyonghu/article/details/55519382
    https://www.cnblogs.com/felixwang2/p/8903642.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀