Matplotlib数据可视化实战:Matplotlib数据可视化入门与实践
数据可视化案例:Matplotlib入门教程
学习目标
通过本课程的学习,学员将掌握如何使用Matplotlib库进行数据可视化,包括时间序列数据和分类数据的图表制作。实验将通过实际案例,帮助学员理解Matplotlib的基本功能和高级特性,能够独立完成复杂数据的可视化工作。
相关知识点
- Matplotlib库数据可视化
学习内容
1 Matplotlib库数据可视化
1.1 Matplotlib基础
Matplotlib是一个强大的Python绘图库,它能够生成多种静态、动态、交互式的图表。Matplotlib的设计灵感来源于MATLAB,因此对于熟悉MATLAB的学员来说,Matplotlib的学习曲线相对平缓。Matplotlib的核心是pyplot
模块,它提供了一套类似于MATLAB的绘图API,使得绘图过程更加直观和简单。
1.1.1安装Matplotlib
在开始之前,确保Python环境中已经安装了Matplotlib。如果还没有安装,可以通过pip命令进行安装:
%pip install matplotlib
!wget https://model-community-picture.obs.cn-north-4.myhuaweicloud.com/ascend-zone/notebook_datasets/2096e240309511f0ac72fa163edcddae/stock_prices.csv
1.1.2基本绘图
从一个简单的例子开始,绘制一条直线。这将帮助学员熟悉Matplotlib的基本使用方法。
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 创建图表
plt.plot(x, y)# 添加标题和标签
plt.title('Simple Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')# 显示图表
plt.show()
在这个例子中,学员首先导入了matplotlib.pyplot
模块,并使用plot
函数绘制了一条直线。plot
函数接受两个列表作为参数,分别表示x轴和y轴的数据。接着,学员使用title
、xlabel
和ylabel
函数为图表添加了标题和轴标签。最后,通过show
函数显示图表。
1.1.3 自定义图表
Matplotlib提供了丰富的自定义选项,可以让学员的图表更加美观和专业。例如,学员可以改变线条的颜色、宽度、样式等。
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 创建图表
plt.plot(x, y, color='red', linewidth=2, linestyle='--', marker='o', markersize=10)# 添加标题和标签
plt.title('Customized Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')# 显示图表
plt.show()
在这个例子中,通过color
、linewidth
、linestyle
、marker
和markersize
参数对线条进行了自定义。color
参数用于设置线条颜色,linewidth
参数用于设置线条宽度,linestyle
参数用于设置线条样式,marker
参数用于设置数据点的标记样式,markersize
参数用于设置标记的大小。
1.2 时间序列数据可视化
时间序列数据是指按照时间顺序记录的数据,例如股票价格、天气数据等。Matplotlib提供了多种方法来处理和可视化时间序列数据。
1.2.1 绘制时间序列数据
假设学员有一组股票价格数据,记录了某只股票在过去一年的每日收盘价。学员可以使用Matplotlib来绘制这些数据,以便更好地分析股票价格的变化趋势。
import matplotlib.pyplot as plt
import pandas as pd# 读取数据
data = pd.read_csv('./stock_prices.csv', parse_dates=['Date'])
data.set_index('Date', inplace=True)# 绘制时间序列数据
plt.figure(figsize=(10, 5))
plt.plot(data['Close'], label='Stock Price')# 添加标题和标签
plt.title('Stock Price Over Time')
plt.xlabel('Date')
plt.ylabel('Price (USD)')# 添加图例
plt.legend()# 显示图表
plt.show()
在这个例子中,学员首先使用Pandas库读取了一个包含股票价格数据的CSV文件,并将日期列设置为索引。然后,学员使用plot
函数绘制了股票价格的时间序列图。figure
函数用于设置图表的大小,legend
函数用于添加图例。
1.2.2 添加注释和标记
在时间序列图中,有时需要添加注释或标记来突出显示某些重要的时间点或事件。Matplotlib提供了annotate
函数来实现这一功能。
在这个例子中,使用annotate
函数在图表中添加了一个注释。xy
参数用于指定注释的位置,xytext
参数用于指定注释文本的位置,arrowprops
参数用于设置箭头的样式。
1.3 分类数据可视化
分类数据是指数据可以分为不同的类别,例如性别、职业等。Matplotlib提供了多种图表类型来可视化分类数据,包括条形图、饼图等。
1.3.1 绘制条形图
条形图是一种常用的图表类型,用于比较不同类别的数据。假设学员有一组销售数据,记录了不同产品的销售额,学员可以使用条形图来比较这些产品的销售情况。
在这个例子中,使用bar
函数绘制了一个条形图。bar
函数接受两个列表作为参数,分别表示类别和对应的数值。还通过color
参数为每个条形设置了不同的颜色。
1.3.2 绘制饼图
饼图是一种用于显示数据比例的图表类型。假设学员有一组市场份额数据,记录了不同公司的市场份额,学员可以使用饼图来显示这些公司的市场份额。
import matplotlib.pyplot as plt# 数据
companies = ['Company A', 'Company B', 'Company C', 'Company D']
market_shares = [30, 25, 20, 25]# 绘制饼图
plt.pie(market_shares, labels=companies, autopct='%1.1f%%', startangle=140)# 添加标题
plt.title('Market Share by Company')# 显示图表
plt.show()
在这个例子中,使用pie
函数绘制了一个饼图。pie
函数接受两个列表作为参数,分别表示类别和对应的数值。autopct
参数用于显示每个扇区的百分比,startangle
参数用于设置饼图的起始角度。