Python 教程

23.2 绘制折线图、散点图、柱状图与直方图

Python数据可视化新手教程:绘制折线图、散点图、柱状图与直方图

Python 教程

本教程详细教你如何使用Python的Matplotlib库轻松绘制折线图、散点图、柱状图和直方图。适合新手学习,代码示例清晰易懂,帮助快速上手数据可视化。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Python数据可视化:绘制折线图、散点图、柱状图与直方图

引言

数据可视化是数据分析和数据科学的核心部分,它能帮助我们将复杂的数据以图表形式直观展示。Python中的Matplotlib库是数据可视化的常用工具,本教程将带你从零开始,学会绘制四种基本图表:折线图、散点图、柱状图和直方图。教程适合Python新手,步骤简单明了。

准备工作

在开始之前,确保你已经安装了Python。如果没有安装Matplotlib,可以通过以下命令安装:

pip install matplotlib

Matplotlib是Python的标准绘图库,本教程的所有示例都基于它。

绘制折线图

折线图通常用于展示数据随时间或其他连续变量的变化趋势。

代码示例

import matplotlib.pyplot as plt

# 创建示例数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制折线图
plt.plot(x, y, marker='o', linestyle='-', color='blue', label='示例数据')
plt.xlabel('X轴标签(例如时间)')
plt.ylabel('Y轴标签(例如数值)')
plt.title('折线图示例:展示趋势')
plt.legend()  # 添加图例
plt.grid(True)  # 添加网格线
plt.show()

解释

  • plt.plot() 函数用于绘制折线图,参数包括数据点、标记样式、线条样式和颜色。
  • 添加标签和标题使用 xlabelylabeltitle,使图表更易读。
  • plt.legend() 显示图例,帮助区分不同数据集(本示例只有一个)。
  • plt.grid(True) 添加网格线,提高可读性。

绘制散点图

散点图用于展示两个变量之间的相关性或分布情况。

代码示例

import matplotlib.pyplot as plt

# 创建示例数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [10, 15, 7, 20, 25, 18, 30]

# 绘制散点图
plt.scatter(x, y, color='red', marker='o', label='散点数据')
plt.xlabel('变量X')
plt.ylabel('变量Y')
plt.title('散点图示例:展示关系')
plt.legend()
plt.show()

解释

  • plt.scatter() 函数绘制散点图,可以自定义点的颜色、形状和大小。
  • 散点图常用于发现数据中的模式或异常值。
  • 与折线图类似,使用标签和标题增强图表理解。

绘制柱状图

柱状图适合比较不同类别的数据大小。

代码示例

import matplotlib.pyplot as plt

# 创建示例数据:类别和对应值
categories = ['类别A', '类别B', '类别C', '类别D']
values = [20, 35, 30, 25]

# 绘制柱状图
plt.bar(categories, values, color='green', label='柱状数据')
plt.xlabel('类别')
plt.ylabel('值')
plt.title('柱状图示例:比较数据')
plt.legend()
plt.show()

解释

  • plt.bar() 函数绘制柱状图,参数包括类别列表和值列表。
  • 可以调整颜色、宽度等属性来自定义样式。
  • 柱状图直观展示不同类别的数值差异,适合用于销售、调查等场景。

绘制直方图

直方图用于显示数值数据的分布,例如频率分布。

代码示例

import matplotlib.pyplot as plt
import numpy as np

# 创建示例数据:生成1000个正态分布的随机数
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data, bins=30, color='purple', alpha=0.7, label='数据分布')
plt.xlabel('数值范围')
plt.ylabel('频率')
plt.title('直方图示例:展示分布')
plt.legend()
plt.show()

解释

  • plt.hist() 函数绘制直方图,bins 参数指定分箱数量(即数据分组),alpha 控制透明度。
  • 直方图帮助我们理解数据的中心趋势、分散性和形状。
  • 使用NumPy生成随机数据,这在实践中很常见。

总结与进阶

通过本教程,你已经学会了使用Matplotlib绘制四种基本图表:折线图、散点图、柱状图和直方图。每种图表都有其适用场景:折线图展示趋势,散点图展示关系,柱状图进行比较,直方图展示分布。

学习建议

  • 练习:尝试修改代码中的数据、颜色和样式,加深理解。
  • 探索:Matplotlib库功能丰富,学习其他图表如饼图、箱线图或3D图表。
  • 进阶工具:了解Seaborn、Plotly等库,它们提供更高级的可视化功能。

记住,数据可视化的核心是让数据说话。通过实践,你将能轻松应用这些图表到自己的项目中。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包