Python+MySQL查询基本操作+并使用matplotlib绘制条形图

# 1000本图书中前10个出版社出版的图书个数进行条形图的展示
# matplotlib - 条形图 bar -- 垂直条形图
import pymysql
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
# 获取出版社和书数量
def getbookinfo():
    # 1- 连接数据库
    connect = pymysql.connect(host="localhost",
                              user="root",
                              password="mysql",
                 database="dangdang_book",
                              port=3306,
                              charset='utf8')
    # 2- 执行sql
    cursor = connect.cursor()
    select = """
            select 出版社,count(书名) 数量 
            from tbl_books
            where char_length(出版社)!=1
            group by 出版社
            order by 数量 desc
            limit 10
            """
    cursor.execute(select)
    result = cursor.fetchall()
    x = []   # 存储10个出版社
    y = []   # 存储10个出版社的书籍数量
    for r in result:
        # print(r)  # 出版社,数量
        x.append(r[0])    # 出版社
        y.append(r[1])    # 数量
    return x,y  # 返回两个结果
要将 Excel 表格导入 Navicat 绘制条形图,可按以下步骤操作: ### 导入 Excel 表格到 Navicat Navicat 本身不能直接导入 Excel 文件,但可以将 Excel 文件转换为 CSV 文件后进行导入。 1. **将 Excel 文件转换为 CSV 文件**:打开 Excel 文件,选择“文件” - “另存为”,在“保存类型”中选择“CSV(逗号分隔)(*.csv)”,保存文件。 2. **在 Navicat 中创建数据库和表**:参考创建数据库和表的操作,如创建一个名为 admins 的数据库,字符集选择“utf8”,然后打开该数据库,通过“查询” - “新建查询”输入 MySQL 语句创建相应的表(假设创建“users”表) [^2]。 3. **导入 CSV 文件**:在 Navicat 中,右键点击要导入数据的表,选择“导入向导”,在“文件类型”中选择“文本文件(.txt、.csv)”,选择之前保存的 CSV 文件,按照向导的提示完成导入设置,如设置字段分隔符等,最后点击“开始”完成导入。 ### 绘制条形图 Navicat 主要是数据库管理工具,本身没有直接绘制条形图的功能,但可以借助创意可视化工坊这样的工具。 1. **从 Navicat 导出数据**:在 Navicat 中,选择要导出的数据表,右键点击选择“导出向导”,选择导出为 CSV 文件或 Excel 表格。 2. **使用创意可视化工坊绘制条形图**:进入创意可视化工坊,该工坊为进阶学习者提供开放的创作空间,支持导入自定义数据,如 CSV 文件、Excel 表格。导入从 Navicat 导出的数据后,使用系统集成的可视化库(如 matplotlib、seaborn、plotly 等)自由设计条形图。学习者还可保存作品分享至社区,与其他用户交流创作思路 [^1]。 ```python # 以下是使用 Pythonmatplotlib 绘制条形图的简单示例 import pandas as pd import matplotlib.pyplot as plt # 读取从 Navicat 导出的 CSV 文件 data = pd.read_csv('exported_data.csv') # 假设数据中有两列,一列是类别,一列是数值 categories = data['category_column'] values = data['value_column'] # 绘制条形图 plt.bar(categories, values) plt.xlabel('Categories') plt.ylabel('Values') plt.title('Bar Chart') plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值