python学习系列:plt.plot()画折线图

本文详细介绍了Matplotlib库中plt.plot函数的使用方法,包括函数形式、参数类型(如元组、列表、numpy数组和pandasSeries)、多组数据绘制、以及如何通过格式控制字符串设置点和线的样式。

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

一、函数形式1:plt.plot(x, y)

二、需要引入各类库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

三、参数详解

1、x, y可传入(元组), [列表], np.array, pd.Series

x=(3,4,5) # (元组)
y1=np.array([3,4,3]) # np.array
y2=pd.Series([4,5,4]) # pd.Series
 
plt.plot(x,y1)
plt.plot(y2)  # x可省略,默认[0,1..,N-1]递增
plt.show() # plt.show()前可加多个plt.plot(),画在同一张图上

2、可传入多组x, y

x=(3,4,5)

y1=np.array([3,4,3])

y2=pd.Series([4,5,4])

plt.plot(x,y1,x,y2) # 此时x不可省略

plt.show()

3、x或y传入pd.DataFrame
 dic1={'x列0':[0,1,2],'x列1':[3,4,5]}
x=pd.DataFrame(dic1)
dic2={'y列0':[2,3,2],'y列1':[3,4,3]}
y=pd.DataFrame(dic2)
print(x)
print(y)
plt.plot(x,y)
plt.show()

4、 x或y传入二维数组

  1. lst1=[[0,1,2],[3,4,5],[6,7,8]]

  2. x=np.array(lst1)

  3. lst2=[[2,3,2],[3,4,3],[4,5,4]]

  4. y=np.array(lst2)

  5. print(x)

  6. print(y)

  7. plt.plot(x,y)

  8. plt.show()

二、函数形式二、plt.plot(x, y, "格式控制字符串")

点和线的格式可以用"格式控制字符串"设置

lst1=[[0,1,2],[3,4,5],[6,7,8]]
x=np.array(lst1)
lst2=[[2,3,2],[3,4,3],[4,5,4]]
y=np.array(lst2)
 
plt.plot(x,y,"ob:") #"b"为蓝色, "o"为圆点, ":"为点线
plt.show()


### 条形图 条形图用于展示分类数据,其长度成比例于各个类别的数值大小。以下是使用 `plt.bar` 函数绘制条形图的方法: ```python import matplotlib.pyplot as plt categories = ['A', 'B', 'C', 'D'] values = [3, 7, 2, 5] plt.figure(figsize=(8, 6)) plt.bar(categories, values, color=['blue', 'green', 'red', 'purple']) plt.xlabel('类别') plt.ylabel('数量') plt.title('条形图示例') plt.show() ``` 此代码片段展示了如何利用不同颜色表示各类别并设置图表标签和标题[^1]。 ### 直方图 直方图用来表现连续变量分布的情况,它将整个值域分割为若干区间,在每个区间上一根矩形来代表落在该区间的样本数目。下面是采用 `plt.hist` 方法制作直方图的例子: ```python import numpy as np import matplotlib.pyplot as plt data = np.random.randn(1000) plt.figure(figsize=(8, 6)) n, bins, patches = plt.hist(data, bins=20, edgecolor='black') plt.xlabel('值') plt.ylabel('频数') plt.title('直方图示例') plt.show() ``` 这里设置了 bin 数量以及边框的颜色,并同样配置了坐标轴名称与图表标题[^2]。 ### 饼图 饼图适用于显示各部分占总体的比例关系。下面是如何运用 `plt.pie` 创建一个简单的饼图实例: ```python import matplotlib.pyplot as plt labels = ["Frogs", "Hogs", "Dogs", "Logs"] sizes = [15, 30, 45, 10] explode = (0, 0.1, 0, 0) plt.figure(figsize=(8, 6)) plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) plt.axis('equal') plt.title('饼图示例') plt.show() ``` 这段代码实现了带有突出效果的部分扇区,并调整起始角度使得图形更加美观。 ### 折线图 最后介绍的是最基础也是最常见的折线图,它可以很好地反映随时间或其他有序因素变化的趋势。这里是通过 `plt.plot` 构建基本折线图的方式: ```python import matplotlib.pyplot as plt x_values = range(1, 11) y_values = [x**2 for x in x_values] plt.figure(figsize=(8, 6)) plt.plot(x_values, y_values, marker='o', linestyle='-') plt.xlabel('X 轴') plt.ylabel('Y 轴') plt.title('简单折线图') plt.grid(True) plt.show() ``` 上述例子中还加入了网格线以便更清晰地观察趋势走向[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值