ax.plot(df.index, df["Los Angeles"], label="Los Angeles") ax.plot(df.index, df["San Francisco"], label="San Francisco")
时间: 2023-05-23 10:01:08 浏览: 199
这是一段使用 Matplotlib 绘制线图的 Python 代码。通过 ax.plot() 函数,可以传递两个参数,分别是 x 轴数据和 y 轴数据,然后使用 label 参数指定曲线的标签。在本段代码中,我们使用了两个数据集 "Los Angeles" 和 "San Francisco",并在图例中指明了每个数据集的标签。
相关问题
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() # 显示图表
```
这样,横轴上就会显示相应的日期。
# 定义绘制K线图的函数 def plot_k_line(df): # 将日期转换为数字 df['date'] = df['date'].apply(lambda x: mdates.date2num(pd.to_datetime(x))) # 获取日期数据的最小值和最大值 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') title = df['name'] ax.set_title(title)如何将title改为对应的股票名
如果你的数据框中有一列名为“name”,包含对应的股票名,你可以将最后一行代码修改为:
```
ax.set_title(df['name'].iloc[0])
```
这将使用该列的第一行作为股票名称。如果你的数据框中有多个股票,则需要在调用这个函数时将每个数据框传递给该函数,并相应地修改该行代码。
阅读全文