欢迎来到 Python 基础入门 Day16!在 Day14 和 Day15 中,我们学习了 Python 爬虫的基础和进阶知识,掌握了如何用 requests
和 Selenium
提取网页数据。今天,我们将进入一个全新的领域:Python 的数据可视化。
数据可视化是数据分析中不可或缺的一部分,它能帮助我们将数据直观地呈现出来,更容易理解和解释。我们将从最常用的可视化库 matplotlib
入手,并介绍其基本用法。
目录
- 什么是数据可视化?
- 安装和设置
matplotlib
- 绘制简单的折线图
- 添加标题、标签和网格
- 绘制柱状图和饼图
- 自定义样式与颜色
- 保存图像到本地
- 小结与练习
一、什么是数据可视化?
数据可视化是将数据以图形或图表的方式展示出来的过程,目的是让数据的模式和关系更容易被人类理解。常见的数据可视化类型包括:
- 折线图:展示数据的变化趋势。
- 柱状图:比较不同类别的数据。
- 饼图:展示数据在整体中的占比。
- 散点图:观察数据之间的相关性。
二、安装和设置 matplotlib
matplotlib
是 Python 中最经典的可视化库之一。通过以下命令安装:
pip install matplotlib
安装完成后,导入库时通常会使用缩写:
import matplotlib.pyplot as plt
三、绘制简单的折线图
以下代码展示了如何绘制一个简单的折线图:
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制折线图
plt.plot(x, y)
# 显示图形
plt.show()
输出效果:
一条连接点 (1, 2), (2, 3), (3, 5), (4, 7), (5, 11) 的折线。
四、添加标题、标签和网格
为了让图表更易理解,我们可以添加标题、坐标轴标签和网格:
plt.plot(x, y)
# 添加标题
plt.title("Prime Numbers")
# 添加坐标轴标签
plt.xlabel("Index")
plt.ylabel("Value")
# 添加网格
plt.grid(True)
plt.show()
五、绘制柱状图和饼图
5.1 柱状图
柱状图适合展示分类数据的对比:
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 8, 5]
plt.bar(categories, values, color='skyblue')
plt.title("Bar Chart Example")
plt.xlabel("Category")
plt.ylabel("Value")
plt.show()
5.2 饼图
饼图适合展示数据在整体中的占比:
labels = ['Python', 'Java', 'C++', 'JavaScript']
sizes = [40, 30, 20, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
plt.title("Programming Language Popularity")
plt.show()
六、自定义样式与颜色
matplotlib
提供多种样式选项,可以让图表更具个性化:
6.1 更改线条样式
plt.plot(x, y, linestyle='--', color='red', marker='o')
plt.title("Custom Line Style")
plt.show()
6.2 使用预定义样式
plt.style.use('ggplot') # 选择一个样式
plt.plot(x, y)
plt.title("Styled Plot")
plt.show()
七、保存图像到本地
生成的图表可以保存为图片,便于分享或后续使用:
plt.plot(x, y)
plt.title("Save Example")
plt.savefig("line_chart.png", dpi=300) # 保存为高分辨率图片
plt.show()
注意:保存时需要在
plt.show()
之前调用plt.savefig()
,否则保存的图像可能为空。
八、小结与练习
今天我们学习了如何使用 matplotlib
绘制各种类型的图表,并通过自定义样式和颜色让图表更美观。数据可视化是数据科学的重要工具,掌握它将使你的数据分析更具说服力。
今日练习题:
- 使用折线图展示一天中温度的变化趋势(自定义数据)。
- 使用柱状图比较不同地区的销售额。
- 绘制一个饼图展示你一天时间的分配(如学习、工作、娱乐等)。
下一节预告:在 Day17 中,我们将继续深入数据可视化,学习 seaborn
,一个更高级的可视化库。敬请期待!
希望你今天学得愉快!如果有任何问题或想法,欢迎随时交流 😊。