返回顶部
首页 > 资讯 > 后端开发 > Python >Python连接数据库使用matplotlib画柱形图
  • 907
分享到

Python连接数据库使用matplotlib画柱形图

2024-04-02 19:04:59 907人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、柱形图介绍(1)介绍(2)优点、缺点(3)适用范围二、数据介绍(1)数据构成(2)数据选取三、python数据库连接配置以及数据提取设置(1)调用库以及连接语法(2)语法参数

一、柱形图介绍

(1)介绍

柱状图(Histogram),也称条图(英文:bargraph)、长条图(英文:barchart)、条状图(Bar graph),是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图亦可横向排列,或用多维方式表达。

(2)优点、缺点

优点:

  • ①便于用户理解大量数据以及数据相互之间的关系。
  • ②优点是让用户通过视觉化的符号,更加快速直观的读取原始数据。

缺点:

柱状图的局限在于只适用中小规模的数据集。

(3)适用范围

适用场合是二维数据集,用于比较一段时间内的数据变化

二、数据介绍

(1)数据构成

本次柱状图绘画数据是由数据库中的订单表(order)提供,其中表order含有订单编号(ORDER_ID)、订单日期(ORDER_DATE)、店铺名称(SITE)等二十一个列。

(2)数据选取

根据柱形图的定义以及适用范围,我们本次画图选用的数据是具有统计计数并且能够比较的数据,因此我们本次选择销售经理以及订单利润。

在Navicat中通过sql语句统计出2019年各个销售经理所销售的利润。

SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER

三、Python数据库连接配置以及数据提取设置

(1)调用库以及连接语法

没有pyMysql库,可以通过语句pip install pymysql方式安装

import pymysql 
import pandas as pd # 用来做数据导入(pd.read_sql_query() 执行sql语句得到结果df)
import matplotlib.pyplot as plt # 用来画图(plt.plot()折线图, plt.bar()柱状图,....)
# 1. 连接MySQL数据库: 创建数据库连接
conn = pymysql.connect(host='ip',port=端口号,user='用户名',passWord='用户密码',db='连接表名')

(2)语法参数讲解

调用库后通过pymysql.connect创建连接,连接参数如下:

  • host:主机名,也可以存储的ip地址
  • port:数据库端口号,一般的数据库端口号3306
  • user:用户名
  • password:用户密码
  • db:数据库名称

(3)数据提取设置

连接数据库,在数据库中提取数据就涉及到数据库的SQL查询,此处也会有简单数据库在Python下的操作方法。

# 2 创建一个sql语句
# -- 统计每个销售经理2019年的利润总额
sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER"
# 3 执行sql语句获取统计查询结果
df = pd.read_sql_query(sql, conn)

四、全局变量配置

(1)字体画布配置

此处的字体画布设置在使用matplotlib画图时都可以放在库导入之后,当成固定的设置,其中的参数介绍在前面plot()函数画图时已经做出介绍详细请看前面的文章。

plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文字体支持中文显示
plt.rcParams['axes.unicode_minus'] = False # 支持中文字体下显示'-'号
 
# figure 分辨率 800x600
plt.rcParams['figure.figsize'] = (6,4)  # 8x6 inches
plt.rcParams['figure.dpi'] = 100        # 100 dot per inch

(2)标题、标签设置

title()是标题设置,ylael()设置y轴的标签,grid()网格线设置

#标签、标题设置
plt.title("每个销售经理2019年的利润总额")
plt.ylabel("利润额")
plt.xlabel('经理')
#网格线设置
plt.grid(axis='y')

网格线设置参数介绍:

plt.grid() # 显示网格线 1=True=默认显示;0=False=不显示
plt.grid(1) # 显示网格线
plt.grid(True) # 显示网格线
plt.grid(b=True) # 显示网格线
plt.grid(b=1) # 显示网格线
plt.grid(b=True, axis='x') #只显示x轴网格线
plt.grid(b=True, axis='y') #只显示y轴网格线
plt.grid(b=1, which='major') # 默认就是major,例如x轴最大值为3.5(这个值占比极小,不影响作图的话),这部分图像不会显示;若which='both'则显示;若设置为minor则不显示网格(其实这里有点不懂,,既然不显示,那为什么不直接设置为b=0呢????)

五、数据库数据画图

(1)画图函数调用并作出图形

通过for循环将每个经理对应的值画入图像上:

#y轴值的显示
for index,value in df['TotalProfit'].items():
    plt.text(index,value,round(value),ha='center',va='bottom',color='k')
#通过上述查询的结果进行x,y的带入
plt.bar(df['MANAGER'], df['TotalProfit'])

作出图形如图:

(2)全代码

import pymysql
import pandas as pd # 用来做数据导入(pd.read_sql_query() 执行sql语句得到结果df)
import matplotlib.pyplot as plt # 用来画图(plt.plot()折线图, plt.bar()柱状图,....)
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文字体支持中文显示
plt.rcParams['axes.unicode_minus'] = False # 支持中文字体下显示'-'号
# figure 分辨率 800x600
plt.rcParams['figure.figsize'] = (6,4)  # 8x6 inches
plt.rcParams['figure.dpi'] = 100        # 100 dot per inch
#建立连接
conn = pymysql.connect(host='localhost',port=3306,user='root',password='9812yang',db='mydb')
#设置查询语句
sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER"
#执行sql语句获取统计查询结果,并赋值
df = pd.read_sql_query(sql, conn)
#调用函数
plt.bar(df['MANAGER'], df['TotalProfit'])
#设置y轴的网格线
plt.grid(axis='y')
#设置标题
plt.title("每个销售经理2019年的利润总额")
#y轴标签
plt.ylabel("利润额")
#x轴标签
plt.xlabel("经理姓名")
#将对应数值写入柱形图
for index,value in df['TotalProfit'].items():
    plt.text(index,value,round(value),ha='center',va='bottom',color='k')

到此这篇关于Python连接数据库使用matplotlib画柱形图的文章就介绍到这了,更多相关Python matplotlib柱形图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python连接数据库使用matplotlib画柱形图

本文链接: https://lsjlt.com/news/119025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python连接数据库使用matplotlib画柱形图
    目录一、柱形图介绍(1)介绍(2)优点、缺点(3)适用范围二、数据介绍(1)数据构成(2)数据选取三、python数据库连接配置以及数据提取设置(1)调用库以及连接语法(2)语法参数...
    99+
    2024-04-02
  • Python连接数据库怎么使用matplotlib画柱形图
    本篇内容主要讲解“Python连接数据库怎么使用matplotlib画柱形图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python连接数据库怎么使用matplotlib画柱形图”吧!一、柱形...
    99+
    2023-07-02
  • Python使用Matplotlib库绘制双y轴图形(柱状图+折线图)
    今天是第一次写踩坑日记系列,这个系列用来记录在Python和R学习过程中遇到的问题和结果。今天介绍的是使用Python的matplotlib库绘制两个y轴图的一些基本用法与踩坑行为。希望可以...
    99+
    2023-08-31
    python
  • Python使用matplotlib给柱状图添加数据标签bar_label()
    目录0.更新matplotlib库1.导入库2.数据准备3.绘制柱状图4.绘图结果5.完整代码6.bar_label()相关参数的补充说明0.更新matplotlib库 本文后续的实...
    99+
    2024-04-02
  • Python数据分析Matplotlib 柱状图绘制
    前言: 柱状图是一种使用矩形柱来表示数据分布的图表,可以横向排列,也可以纵向排列,它的高度或长度和他们所代表的值成正比关系。 Matplotlib 提供了bar()方法绘制柱状图, ...
    99+
    2024-04-02
  • Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图
    目录matplotlib介绍matplotlib绘制折线图matplotlib绘制柱状图matplotlib绘制柱线混合图总结 matplotlib介绍 Matplotli...
    99+
    2024-04-02
  • 使用Python matplotlib绘制简单的柱形图、折线图和直线图
    目录介绍1、柱形图2、直线图3、折线图总结介绍 Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式...
    99+
    2024-04-02
  • python使用matplotlib绘制柱状图教程
    Matplotlib的概念这里就不多介绍了,关于绘图库Matplotlib的安装方法:点击这里 小编之前也和大家分享过python使用matplotlib实现的折线图和制饼图效果,感兴趣的朋友们也可以点击查...
    99+
    2022-06-04
    教程 柱状图 python
  • Python中如何使用Matplotlib库绘制图形
    目录前言一、简单的正弦函数与余弦函数二、进阶版正弦函数与余弦函数1.改变颜色与粗细2.设置图片边界3.设置记号4.设置记号的标签5.设置X,Y轴6.完整代码三、绘制简单的折线图总结前...
    99+
    2024-04-02
  • Python中怎么使用Matplotlib库绘制图形
    这篇文章主要介绍“Python中怎么使用Matplotlib库绘制图形”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么使用Matplotlib库绘制图形”文章能帮助大家解决问题。一、...
    99+
    2023-07-02
  • 怎么使用python plot画柱状图
    要使用Python的Matplotlib库来绘制柱状图,可以按照以下步骤操作:1. 导入必要的库:```pythonimport m...
    99+
    2023-09-20
    python
  • Python中怎么使用matplotlib给柱状图添加数据标签bar_label()
    本篇内容主要讲解“Python中怎么使用matplotlib给柱状图添加数据标签bar_label()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中怎么使用matplotlib给柱...
    99+
    2023-06-29
  • python中如何利用matplotlib画多个并列的柱状图
    首先如果柱状图中有中文,比如X轴和Y轴标签需要写中文,解决中文无法识别和乱码的情况,加下面这行代码就可以解决了: plt.rcParams['font.sans-serif'] = ...
    99+
    2024-04-02
  • Python使用Matplotlib库创建3D图形和交互式图形详解
    目录一、创建 3D 图形二、创建交互式图形三、结论一、创建 3D 图形 Matplotlib 提供了一组用于创建 3D 图形的 API,如 3D 散点图、3D 折线图、3D 曲面图等...
    99+
    2023-08-08
    Python Matplotlib库创建3D图形 Python Matplotlib库创建交互式图形 Python Matplotlib库
  • Python数据科学Matplotlib图库的用法
    这篇文章主要讲解了“Python数据科学Matplotlib图库的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python数据科学Matplotlib图库的用法”吧!Matplotli...
    99+
    2023-06-20
  • 如何使用matplotlib库实现图形局部数据放大显示
    本篇内容介绍了“如何使用matplotlib库实现图形局部数据放大显示”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、绘制总体图形impo...
    99+
    2023-06-29
  • Python利用Matplotlib库实现绘制饼形图
    目录1.plt.pie()2. 饼图基本3. 饼状图进阶4. 环形图5. 内嵌环形图1.plt.pie() 饼图 常常用来显示 整体中各部分所占的比例,在python-matplot...
    99+
    2024-04-02
  • 如何使用matplotlib画图直接写入excel
    小编给大家分享一下如何使用matplotlib画图直接写入excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用 matpyplot.lib  生成...
    99+
    2023-06-02
  • 使用Python怎么绘制柱状图和条形图
    今天就跟大家聊聊有关使用Python怎么绘制柱状图和条形图,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、实验目的:掌握Python中柱状图、条形图绘图函数的使用利用上述绘图函数实...
    99+
    2023-06-15
  • Python数据可视化之用Matplotlib绘制常用图形
    目录一、散点图二、柱状图三、直方图四、扇形图总结一、散点图 散点图用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。 特点:判断变量之间是否存在数量关联趋势,表示离群点...
    99+
    2022-06-02
    Matplotlib绘制常用图形 Python Matplotlib库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作