python连接Mysql数据库并使用pyEcharts绘图


一、pyEcharts是什么?

ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。
pyEcharts库是一个用于生成 ECharts 图表的类库。

二、使用步骤

1.pip 安装

pip install pyecharts

2.引入

代码如下(示例):

import pyecharts

3.简单使用

开始来绘制你的第一个图表

from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render()

效果:
在这里插入图片描述


三、python连接Mysql数据库

import pymysql as pymysql

db = pymysql.connect(host="192.xxx.xxx.xxx", user="root", password="123456", database="ads_finance")
sql = "SELECT   CASE sex  WHEN 0 THEN '男'  WHEN 1 THEN '女'  WHEN 2 THEN '未知'  END AS sex,  card_count  FROM  ads_finance_sex_count;"

try:
    cursor = db.cursor()
    cursor.execute(sql)
    cos = cursor.fetchall()
except Exception as e:
    db.rollback()
    print('连接失败',e)
else:
    db.commit()
    print('连接成功',cos)
cursor.close()
db.close()

数据样式
在这里插入图片描述

四、使用pyEcharts绘图

costomer = list(map(itemgetter(0), cos))
quantity = list(map(itemgetter(1), cos))
bar = Bar()
bar.add_xaxis(costomer)
bar.add_yaxis("数量", quantity)
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render("firstChart.html")

效果:
在这里插入图片描述

五、绘制一张地图

完整代码:

from pyecharts import options as opts
from pyecharts.charts import Map
import pymysql as pymysql
from operator import itemgetter

db = pymysql.connect(host="192.xxx.xxx.xxx", user="root", password="123456", database="nshop_bi")
sql = "select customer_natives,sum(order_amounts) from ads_nshop_oper_stat group by customer_natives;"

try:
    cursor = db.cursor()
    cursor.execute(sql)
    cos = cursor.fetchall()
except Exception as e:
    db.rollback()
    print('连接失败',e)
else:
    db.commit()
    print('连接成功',cos)

provience = list(map(itemgetter(0), cos))
money = list(map(itemgetter(1), cos))

c = (
    Map()
    .add("省份", [list(z) for z in zip(provience, money)], "china")
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(max_=70000),
    )
    .render("china_map.html")
)
cursor.close()
db.close()

效果:
在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我作为AI助手,我没有图形用户界面GUI,但是我可以提供Python连接MySQL数据库的代码示例。 要使用Python连接MySQL数据库,需要安装MySQL Python驱动程序。可以使用以下命令安装MySQL驱动程序: ``` pip install mysql-connector-python ``` 接下来,可以使用以下代码连接MySQL数据库: ```python import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) print(mydb) ``` 在上面的代码中,需要将`yourusername`、`yourpassword`和`mydatabase`替换为实际的用户名、密码和数据库名称。 接下来,可以使用以下代码创建一个MySQL数据库: ```python import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword" ) mycursor = mydb.cursor() mycursor.execute("CREATE DATABASE mydatabase") ``` 在上面的代码中,需要将`yourusername`和`yourpassword`替换为实际的用户名和密码。 有了连接MySQL数据库的代码,可以使用Python Tkinter模块创建GUI应用程序。以下是一个简单的示例: ```python from tkinter import * import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) def insert_data(): mycursor = mydb.cursor() sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = (name.get(), address.get()) mycursor.execute(sql, val) mydb.commit() name.delete(0, END) address.delete(0, END) root = Tk() root.title("MySQL GUI") Label(root, text="Name").grid(row=0, column=0, padx=10, pady=10) name = Entry(root, width=30) name.grid(row=0, column=1) Label(root, text="Address").grid(row=1, column=0, padx=10, pady=10) address = Entry(root, width=30) address.grid(row=1, column=1) Button(root, text="Insert Data", command=insert_data).grid(row=2, column=0, columnspan=2, padx=10, pady=10) root.mainloop() ``` 在上面的示例中,我们创建了一个包含两个文本框和一个按钮的GUI窗口。当用户单击按钮时,数据将插入到MySQL数据库中。 希望这个示例可以帮助你开始使用Python连接MySQL数据库并创建GUI应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值