数据分析之Matplotlib(二)折线图(plot)

本文详细介绍了Matplotlib库中折线图的绘制,包括基础的折线图绘制、图像完善、多坐标系显示以及应用场景。通过实例展示了如何添加辅助显示层、图像层,以及如何处理中文显示问题。同时,文章提到了plt.subplots()在创建多坐标系中的应用,以及折线图在数据分析中的多种用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Matplotlib能够绘制折线图、散点图、柱状图、直方图、饼图等。

  • 折线图: plt.plot(),表示趋势
  • 散点图: plt.scatter(),表示变量与变量之间的关系
  • 柱状图: plt.bar(),表示数量的大小对比
  • 直方图: plt.hist(),表示数据的分布
  • 饼图: plt.pie(),表示不同部分的占比
    我们需要知道不同的统计图的意义,以此来决定选择哪种统计图来呈现我们的数据。

常见图形种类及意义

  • 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
    特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
    在这里插入图片描述
  • 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。
    特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
    在这里插入图片描述
  • 柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中。
    特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)
    在这里插入图片描述
  • 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。
    特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)
    在这里插入图片描述
  • 饼图:用于表示不同分类的占比情况,通过弧度大小来对比各种分类。
    特点:分类数据的占比情况(占比)
    在这里插入图片描述

折线图绘制与保存图片

为了更好地理解所有基础绘图功能,我们通过天气温度变化的绘图来融合所有的基础API使用

1 matplotlib.pyplot模块

matplotlib.pytplot包含了一系列类似于matlab的画图函数。 它的函数作用于当前图形(figure)的当前坐标系(axes)。

import matplotlib.pyplot as plt

2 折线图绘制与显示

展现上海一周的天气,比如从星期一到星期日的天气温度如下

# 1)创建画布(容器层)
plt.figure(figsize=(10, 10))
# 2)绘制折线图(图像层)
plt.plot([1, 2, 3, 4, 5, 6 ,7], [17, 17, 18, 15, 11, 11, 13])
# 3)显示图像
plt.show()

在这里插入图片描述
可以看到这样显示效果并不好,我们可以加入更多的功能:
3 设置画布属性与图片保存
plt.figure(figsize=(), dpi=)

  • figsize:指定图的长宽(单位英寸)
  • dpi:图像的清晰度,也就是分辨率
    返回fig对象

plt.savefig(path) #保存图像,必须在plt.show()之前运行,否则图像保存是空的

# 1)创建画布,并设置画布属性
plt.figure(figsize=(20, 8), dpi=80)
# 2)保存图片到指定路径
plt.savefig("test.png")

注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。
在这里插入图片描述

完善原始折线图1(辅助显示层)

需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度
效果:
在这里插入图片描述
1 准备数据并画出初始折线图

import numpy as np
# 画出温度变化图
# 准备x, y坐标的数据
x = range(60)
y_shanghai = [np. random.uniform(15, 18) for i in x]

# 1)创建画布
plt.figure(figsize=(20, 8), dpi=80)

# 2)绘制折线图
plt.plot(x, y_shanghai)

# 3)显示图像
plt.show()

在这里插入图片描述2 添加自定义x,y刻度
plt.xticks(x, **kwargs)
x:要显示的刻度值
plt.yticks(y, **kwargs)
y:要显示的刻度值

# 增加以下两行代码
# 构造x轴刻度标签
x_ticks_label =</
### 如何使用 Matplotlib 的 `plot` 方法绘制折线图 在 Python 中,Matplotlib 是一个功能强大的绘库,可以用来创建各种静态、动态以及交互式的可视化形。其中,`plot()` 函数是最常用的函数之一,用于绘制维数据的折线图。 以下是关于如何使用 `plot()` 方法绘制折线图的具体说明: #### 基本语法 `plot()` 方法的基本调用形式如下: ```python plt.plot(x, y, **kwargs) ``` - 参数 `x` 和 `y` 表示要绘制的数据点坐标集合。 - 可选参数可以通过关键字传递,例如颜色 (`color`)、标记符 (`marker`)、线条样式 (`linestyle`) 等[^1]。 #### 示例代码 下面是一个完整的示例,展示如何通过 `plot()` 方法绘制一条简单的折线图: ```python import matplotlib.pyplot as plt import numpy as np # 定义 x 和 y 数据 data_x = np.arange(1, 25) # 自变量 data_y = data_x**2 # 因变量 # 使用 plot() 方法绘制折线图 plt.plot( data_x, data_y, color='red', # 折线的颜色 marker='o', # 数据点的形状 linestyle='-.', # 线条的风格 alpha=0.5 # 形透明度 ) # 展示plt.show() ``` 此代码片段展示了如何设置不同的属性来定制化折线图的外观。 #### 解决中文乱码问题 如果需要在表中显示中文字符,则需调整字体配置以支持中文编码。具体实现方式如下所示: ```python import matplotlib.pyplot as plt # 配置字体为 SimHei 字体(黑体),解决中文乱码问题 plt.rcParams['font.family'] = ['SimHei'] # 时间序列作为横轴 time_points = ['周一', '周', '周三', '周四', '周五'] sales_data = [61, 42, 52, 72, 86] # 绘制折线图并显示 plt.plot(time_points, sales_data) plt.show() ``` 这里设置了全局字体为 `'SimHei'` 来确保中文能够正常渲染[^2]。 #### 调整 Y 轴范围优化视觉效果 为了使生成的表更加清晰易读,可以根据实际需求手动设定纵坐标的取值区间。例如,在成绩统计场景下可限定分数介于 `[80, 100]` 之间: ```python import matplotlib.pyplot as plt name_list = range(1, 6) score_values = [90, 95, 92, 94, 93] # 绘制基本折线图 plt.plot(name_list, score_values) # 设定 Y 轴上下限 plt.ylim([80, 100]) # 渲染最终结果 plt.show() ``` 这段脚本演示了如何利用 `ylim()` 函数控制垂直方向上的数值跨度[^3]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值