python 画条形图(柱状图)

简介: python 画条形图(柱状图)

前言

条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。

当使用 Python 画条形图时,通常会使用 Matplotlib 库。Matplotlib 是一个广泛用于绘制图表和数据可视化的库,它提供了丰富的函数和方法来创建各种类型的图表,包括条形图。

Matplotlib 是一个用于绘制数据可视化图表的 Python 库。它提供了一个广泛的功能集,使得用户可以创建各种类型的图表,包括折线图、散点图、条形图、饼图、直方图等等。Matplotlib 可以轻松地将数据转换为可视化图表,帮助我们更好地理解和分析数据。

Matplotlib 库的主要特点和功能:

  1. 简单易用:Matplotlib 提供了直观的 API,使得创建基本图表变得简单而直接。
  2. 灵活性:Matplotlib 允许用户对图表进行高度定制,包括设置标题、标签、刻度线、线型、颜色、图例等等。
  3. 多种图表类型:Matplotlib 支持众多常见的图表类型,如折线图、散点图、条形图、饼图、直方图、盒图等等。
  4. 支持多种输出格式:Matplotlib 可以将图表保存为图片文件(如 PNG、JPG、SVG)、PDF 文件以及其他常见的图像格式。
  5. 与 NumPy 和 Pandas 集成:Matplotlib 与 NumPy 和 Pandas 库完美集成,使得数据的处理和可视化更加便捷。
  6. 支持 Jupyter Notebook:Matplotlib 可以在 Jupyter Notebook 环境中无缝使用,使得数据分析和可视化更加交互性和动态化。

基础介绍

import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [7, 13, 5, 17, 10]
# 创建条形图
plt.bar(categories, values, color='skyblue')
# 添加标题和标签
plt.title('Example Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
# 显示条形图
plt.show()
  • 使用 Matplotlib 创建了一个简单的条形图,并对其进行了一些定制。
  • 首先,我们导入 Matplotlib 库,并使用 import matplotlib.pyplot as plt 将其重命名为 plt,以方便后续使用。
  • 定义了两个列表变量 categoriesvalues,分别表示条形图的类别和对应的数值。在这个例子中,类别包括 'A'、'B'、'C'、'D'、'E',对应的数值分别是 7、13、5、17、10。
  • 使用 plt.bar(categories, values, color='skyblue') 创建了一个条形图。plt.bar 函数的第一个参数是类别列表 categories,第二个参数是对应的数值列表 values,通过这两个参数可以指定条形图的类别和高度。我们还通过 color='skyblue' 参数设置了条形的颜色为天蓝色。
  • 使用 plt.title('Example Bar Chart') 添加了一个标题,将图表的标题设置为 'Example Bar Chart'。使用 plt.xlabel('Categories')plt.ylabel('Values') 分别添加了 x 轴和 y 轴的标签,将 x 轴标签设置为 'Categories',y 轴标签设置为 'Values'。
  • 使用 plt.show() 显示生成的条形图。这个函数会打开一个窗口显示图表,你可以对图表进行交互操作,如放大、保存为图片等。

效果图:

月度开支的条形图

import matplotlib.pyplot as plt
# 月份和开支数据
months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
expenses = [2000, 2200, 2500, 1800, 2100, 2400, 2300, 2100, 1900, 2000, 2200, 2300]
# 创建条形图
plt.bar(months, expenses, color='skyblue')
# 添加标题和标签
plt.title('月度开支')
plt.xlabel('月份')
plt.ylabel('开支(元)')
# 旋转 x 轴标签
plt.xticks(rotation=45)
# 显示条形图
plt.show()
  • 用 Matplotlib 创建了一个月度开支的条形图,并对其进行了一些定制。
  • 导入了 Matplotlib 库,并使用 import matplotlib.pyplot as plt 将其重命名为 plt,以方便后续使用。
  • 定义了两个列表变量 monthsexpenses,分别表示月份和对应的开支数据。其中,months 包括了一年中的所有月份,而 expenses 则包含了每个月的开支金额。
  • 然后,我们使用 plt.bar(months, expenses, color='skyblue') 创建了一个条形图。plt.bar 函数的第一个参数是月份列表 months,第二个参数是对应的开支数据列表 expenses。我们还通过 color='skyblue' 参数设置了条形的颜色为天蓝色。
  • 使用 plt.title('月度开支') 添加了一个标题,将图表的标题设置为 '月度开支'。使用 plt.xlabel('月份')plt.ylabel('开支(元)') 分别添加了 x 轴和 y 轴的标签,将 x 轴标签设置为 '月份',y 轴标签设置为 '开支(元)'。
  • 还使用了 plt.xticks(rotation=45) 将 x 轴的标签进行了旋转,使得月份的文字能够更好地展示并避免重叠。
  • 使用 plt.show() 显示生成的条形图。这个函数会打开一个窗口显示图表,你可以对图表进行交互操作,如放大、保存为图片等。

效果图:

在这里我们看到没有显示中文,而是不知名的乱码,嘶需要进行代码修改,添加以下代码

# 设置中文字体和禁用Unicode减号

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

import matplotlib.pyplot as plt
# 设置中文字体和禁用Unicode减号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 月份和开支数据
months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
expenses = [2000, 2200, 2500, 1800, 2100, 2400, 2300, 2100, 1900, 2000, 2200, 2300]
# 创建条形图
plt.bar(months, expenses, color='skyblue')
# 添加标题和标签
plt.title('月度开支')
plt.xlabel('月份')
plt.ylabel('开支(元)')
# 旋转 x 轴标签
plt.xticks(rotation=45)
# 显示条形图
plt.show()


相关文章
|
数据可视化 大数据 Python
Python基础综合案例-数据可视化(柱状图)
今天给大家带来的是Python综合实战开发的数据可视化操作 通过python实现对数据的分析、可视化
104 0
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
205 0
|
2月前
|
数据可视化 Python
Python数据可视化-动态柱状图可视化
Python数据可视化-动态柱状图可视化
|
2月前
|
JavaScript 数据可视化 索引
用 Python 轻松绘制动态条形图
用 Python 轻松绘制动态条形图
30 1
|
6月前
|
Python
2024年Python最新刷爆全网的动态条形图,原来5行Python代码就能实现!,2024年最新Python面试必问的HashMap
2024年Python最新刷爆全网的动态条形图,原来5行Python代码就能实现!,2024年最新Python面试必问的HashMap
2024年Python最新刷爆全网的动态条形图,原来5行Python代码就能实现!,2024年最新Python面试必问的HashMap
|
5月前
|
Python
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)-2
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
|
5月前
|
数据可视化 开发者 Python
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)-1
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
|
数据挖掘 Python
【Python】数据分析:matplotlib条形图
【Python】数据分析:matplotlib条形图
83 0
|
数据可视化 Python
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
358 0
|
6月前
|
Python C++ Java
C/C++每日一练(20230423) 多组输入求和、螺旋矩阵II、路径交叉
C/C++每日一练(20230423) 多组输入求和、螺旋矩阵II、路径交叉
34 0
C/C++每日一练(20230423) 多组输入求和、螺旋矩阵II、路径交叉