Matplotlib:Matplotlib常见图形详解及实用示例

在数据可视化中,Matplotlib 提供了多种图形类型来满足不同的数据展示需求。本文将详细介绍六种常见的图形类型:折线图、柱状图、散点图、饼图、直方图和箱线图。我们将探讨每种图形的用途、用法、常见参数,并通过实用示例进行演示。

思维导图总结

将该部分内容总结为思维导图,如果需要高清PDF版,公众号‘零基础AI学习笔记’回复“888”,内容会持续更新。


一、折线图
1.1 用途

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

1.2 用法

使用 ax.plot() 函数绘制折线图。

1.3 常见参数
参数名用途类型示例
color设置折线颜色颜色值color='red'
linestyle设置折线线型字符串linestyle='--'
linewidth设置折线宽度浮点数linewidth=2
marker设置折线上的标记字符串marker='o'
alpha设置折线透明度浮点数alpha=0.8
label设置折线标签字符串label='折线图'
1.4 实用示例
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(12, 8))
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
ax.plot(x, y, color='red', linestyle='--', linewidth=2, marker='o', alpha=0.8, label='line chart')
ax.set_title('Line Chart')
ax.set_xlabel('X-axis label')
ax.set_ylabel('Y-axis label')
ax.legend()
plt.show()
二、柱状图
2.1 用途

柱状图用于比较不同类别的数据大小。

2.2 用法

使用 ax.bar() 函数绘制柱状图。

2.3 常见参数
参数名用途类型示例
color设置柱状图颜色颜色值color='blue'
edgecolor设置柱状图边缘颜色颜色值edgecolor='black'
linewidth设置柱状图边缘宽度浮点数linewidth=1
alpha设置柱状图透明度浮点数alpha=0.8
label设置柱状图标签字符串label='柱状图'
2.4 实用示例
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))
x = ['A', 'B', 'C', 'D', 'E']
y = [2, 3, 5, 7, 11]
ax.bar(x, y, color='blue', edgecolor='black', linewidth=1, alpha=0.8, label='Bar chart')
ax.set_title('Bar chart')
ax.set_xlabel('X-axis Label')
ax.set_ylabel('Y-axis label')
ax.legend()
plt.show()
三、散点图
3.1 用途

散点图用于展示两个变量之间的关系。

3.2 用法

使用 ax.scatter() 函数绘制散点图。

3.3 常见参数
参数名用途类型示例
color设置散点颜色颜色值color='green'
marker设置散点标记字符串marker='s'
s设置散点大小浮点数s=50
alpha设置散点透明度浮点数alpha=0.8
label设置散点标签字符串label='散点图'
3.4 实用示例
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 8))
x = np.random.randn(100)
y = np.random.randn(100)
c = np.random.randn(100)  # 用于颜色映射的数据

scatter = ax.scatter(x, y, c=c, cmap='viridis', s=50, alpha=0.8, edgecolor='black', label='scatter chart')
ax.set_title('scatter chart')
ax.set_xlabel('X-axis Label')
ax.set_ylabel('Y-axis Label')
ax.legend()
plt.colorbar(scatter)  # 显示颜色条
plt.show()

四、饼图

4.1 用途

饼图用于展示各部分占整体的比例关系。

4.2 用法

使用 ax.pie() 函数绘制饼图。

4.3 常见参数
参数名用途类型示例
colors设置饼图各部分的颜色颜色值列表colors=['red', 'blue', 'green']
explode设置饼图各部分的分离距离浮点数列表explode=[0.1, 0, 0]
labels设置饼图各部分的标签字符串列表labels=['A', 'B', 'C']
autopct设置饼图各部分的百分比显示格式字符串格式autopct='%1.1f%%'
startangle设置饼图的起始角度浮点数startangle=90
shadow设置饼图是否有阴影布尔值shadow=True
4.4 实用示例
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))
sizes = [25, 35, 40]
labels = ['A', 'B', 'C']
colors = ['red', 'blue', 'green']
explode = [0.1, 0, 0]
ax.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', startangle=90, shadow=True)
ax.set_title('Pie chart')
plt.show()

五、箱线图

5.1 用途

箱线图用于展示数据的分布情况,包括中位数、四分位数、异常值等。

5.2 用法

使用 ax.boxplot() 函数绘制箱线图。

5.3 常见参数
参数名用途类型示例
vert设置箱线图是否垂直布尔值vert=False
patch_artist设置是否使用填充样式布尔值patch_artist=True
showmeans设置是否显示均值布尔值showmeans=True
showcaps设置是否显示箱线图的端点布尔值showcaps=True
showbox设置是否显示箱线图的箱体布尔值showbox=True
showfliers设置是否显示异常值布尔值showfliers=True
medianprops控制箱体中位数的外观样式字典medianprops=dict(color='red')
whiskerprops控制箱体须的外观样式字典whiskerprops=dict(color='blue')
5.4 实用示例
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 8))
data = np.random.randn(100)
ax.boxplot(data, vert=False, patch_artist=True, showmeans=True, showcaps=True, showbox=True, showfliers=True, medianprops=dict(color='red'), whiskerprops=dict(color='blue'))
ax.set_title('Box Plot')
plt.show()

六、直方图

6.1 用途

直方图用于展示数据的分布情况,包括数据的频数分布。

6.2 用法

使用 ax.hist() 函数绘制直方图。

6.3 常见参数
参数名用途类型示例
color设置直方图的颜色颜色值color='purple'
bins设置直方图的区间数量整数或列表bins=10
density设置直方图是否归一化布尔值density=True
edgecolor设置直方图边缘颜色颜色值edgecolor='black'
alpha设置直方图透明度浮点数alpha=0.7
6.4 实用示例
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(12, 8))
data = np.random.randn(1000)

ax.hist(data, bins=20, color='purple', edgecolor='black', alpha=0.7, orientation='vertical', density=True, cumulative=False)
ax.set_title('Histogram')
ax.set_xlabel('X-axis Label')
ax.set_ylabel('Y-axis Label')
plt.show()
任何疑问、批评、指导,请毫不犹豫地私信作者!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值