ax.plot与plt.plot的区别
时间: 2023-11-01 11:58:22 浏览: 184
ax.plot与plt.plot的区别是:
- plt.plot是pyplot模块中的函数,它可以直接在当前的Figure中绘制图形。plt.plot()函数会自动创建一个Figure对象,并将图形绘制在该对象上。
- ax.plot是Axes类的实例方法,它需要一个Axes对象来调用。Axes对象可以通过subplot()函数或者add_subplot()方法来创建,然后使用ax.plot()来在该Axes对象上绘制图形。
使用ax.plot()方法可以更加灵活地控制图形的绘制,可以设置坐标轴范围、标题、标签等属性。而plt.plot()函数则比较简单,适用于绘制简单的图形。
相关问题
python中ax.plot和ax=plt.plot的区别
在Python中,绘制图形有两种方式:OO-style(面向对象风格)和pyplot interface(pyplot接口)。这两种方式在使用上有一些区别。
1. OO-style(面向对象风格):
- 首先,需要创建一个Figure对象和一个或多个Axes对象。
- 然后,使用Axes对象的方法来绘制图形,例如使用`ax.plot()`来绘制曲线。
- 最后,使用`plt.show()`来显示图形。
示例代码如下:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots() # 创建Figure对象和Axes对象
= [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
ax.plot(x, y) # 使用Axes对象的方法绘制曲线
plt.show() # 显示图形
```
2. pyplot interface(pyplot接口):
- 在pyplot接口中,不需要显式地创建Figure对象和Axes对象。
- 可以直接使用`plt.plot()`函数来绘制曲线。
- 最后,使用`plt.show()`来显示图形。
示例代码如下:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y) # 使用plt.plot()函数绘制曲线
plt.show() # 显示图形
```
总结:
- 使用OO-style(面向对象风格)需要显式地创建Figure对象和Axes对象,并使用Axes对象的方法来绘制图形。
- 使用pyplot interface(pyplot接口)不需要显式地创建Figure对象和Axes对象,可以直接使用`plt.plot()`函数来绘制图形。
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'SimHei' # 读取股票数据 df = pd.read_csv('E:/应统案例大赛/附件1-股票交易数据/a1.csv') # 统计性描述 print(df.describe()) # 绘制K线图 fig, ax = plt.subplots() ax.plot(df['date'], df['close'], label='Close') ax.plot(df['date'], df['open'], label='Open') ax.plot(df['date'], df['high'], label='High') ax.plot(df['date'], df['low'], label='Low') ax.legend() ax.set_xlabel('Date') ax.set_ylabel('Price') ax.set_title('603826坤彩科技') plt.savefig('a1.jpg') plt.show()横坐标如何显示出相应的日期
要在横轴上显示日期,可以使用 matplotlib 中的 `date2num` 和 `num2date` 函数,将日期数据转换为数字表示。具体步骤如下:
1. 在代码中导入 `matplotlib.dates` 模块,并获取日期数据的最小值和最大值。例如:
```
import matplotlib.dates as mdates
# 获取日期数据的最小值和最大值
date_min = mdates.date2num(df['date'].min())
date_max = mdates.date2num(df['date'].max())
```
2. 在绘图时,使用 `mdates.DateFormatter` 和 `mdates.DayLocator` 对象来设置横轴的显示格式和间隔。例如:
```
import matplotlib.dates as mdates
# 设置横轴的显示格式和间隔
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))
```
这个代码会将横轴的日期格式设置为 '%Y-%m-%d',表示年-月-日的形式,间隔为 7 天。
完整的代码如下所示:
```
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
plt.rcParams['font.family'] = 'SimHei' # 设置字体
# 读取股票数据
df = pd.read_csv('E:/应统案例大赛/附件1-股票交易数据/a1.csv')
# 统计性描述
print(df.describe())
# 获取日期数据的最小值和最大值
date_min = mdates.date2num(df['date'].min())
date_max = mdates.date2num(df['date'].max())
# 绘制K线图
fig, ax = plt.subplots()
ax.plot(df['date'], df['close'], label='Close')
ax.plot(df['date'], df['open'], label='Open')
ax.plot(df['date'], df['high'], label='High')
ax.plot(df['date'], df['low'], label='Low')
ax.legend()
ax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.set_title('603826坤彩科技')
# 设置横轴的显示格式和间隔
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))
plt.savefig('a1.jpg') # 保存图表
plt.show() # 显示图表
```
这样,横轴上就会显示相应的日期。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)