使用python绘制曲线+在jupyterlib中读取本地记录

你可以使用 Python 中的 matplotlib 库来绘制曲线。以下是一个示例代码,它会从给定的数据文件中读取数据并绘制两条曲线:一条表示时间与成交价的关系,另一条表示时间与手数的关系。

绘制攻略

详细步骤说明
指定文件路径:

使用原始字符串(以 r 开头)指定文件路径,确保正确处理反斜杠。
读取数据:

使用 pd.read_csv(file_path) 读取 CSV 文件中的数据。
转换时间格式:

使用 pd.to_datetime 将时间列转换为日期时间格式,确保在图表上正确显示时间。
创建绘图对象:

使用 matplotlib 创建绘图对象 fig 和主轴 ax1。
绘制成交价曲线:

设置 x 轴标签为时间,y 轴标签为成交价,并绘制成交价曲线,颜色为蓝色。
创建第二个 y 轴:

使用 ax1.twinx() 创建第二个 y 轴 ax2,用于绘制手数曲线,颜色为红色。
美化 x 轴时间格式:

使用 mdates.DateFormatter(‘%H:%M:%S’) 设置 x 轴时间格式,并自动调整日期标签。
添加标题和图例:

设置图表标题并添加图例,图例位置在左上角。
保存图表到文件:

使用 os.path.dirname(file_path) 获取文件所在目录。
使用 os.path.join(output_dir, ‘stock_details_600990_plot.png’) 指定输出文件路径。
使用 plt.savefig(output_file, format=‘png’) 保存图表。
显示图表:

使用 plt.show() 显示最终绘制的图表。
打印保存路径:

打印图表保存路径,方便确认图表已经保存。
通过以上步骤,你可以在 Jupyter Notebook 中从本地文件读取数据、绘制两条曲线并将图表保存到同一目录中。

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import os

# 从本地文件中读取数据
file_path = r'C:\data\...\20240515\stock_details_600990.csv'  # 文件路径
df = pd.read_csv(file_path)

# 转换时间格式
df['时间'] = pd.to_datetime(df['时间'], format='%H:%M:%S')

# 创建绘图对象
fig, ax1 = plt.subplots()

# 绘制成交价曲线
ax1.set_xlabel('时间')
ax1.set_ylabel('成交价', color='tab:blue')
ax1.plot(df['时间'], df['成交价'], color='tab:blue', label='成交价')
ax1.tick_params(axis='y', labelcolor='tab:blue')

# 创建第二个 y 轴,共享同一个 x 轴
ax2 = ax1.twinx()
ax2.set_ylabel('手数', color='tab:red')
ax2.plot(df['时间'], df['手数'], color='tab:red', label='手数')
ax2.tick_params(axis='y', labelcolor='tab:red')

# 美化 x 轴时间格式
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
fig.autofmt_xdate()

# 添加标题
plt.title('成交价和手数随时间的变化')

# 显示图例
fig.tight_layout()
fig.legend(loc='upper left', bbox_to_anchor=(0.1, 0.9))

# 保存图表到文件
output_dir = os.path.dirname(file_path)
output_file = os.path.join(output_dir,<
  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值