import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import os# set up matplotlib
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:from IPython import displayplt.ion()def find_csv_files(directory):csv_files = [] # 用于存储找到的 CSV 文件路径# 遍历指定路径下的所有文件和子目录for root, dirs, files in os.walk(directory):for file in files:# 检查文件是否以 ".csv" 结尾if file.endswith(".csv"):# 构建完整的文件路径并添加到列表中file_path = os.path.join(root, file)csv_files.append(file_path)return csv_files# 指定要查找的路径
directory_to_search = 'carpet' # 将此路径替换为你想要查找的路径# 调用函数获取符合条件的 CSV 文件路径列表
csv_files_list = find_csv_files(directory_to_search)# 打印找到的 CSV 文件路径
for csv_file in csv_files_list:print(csv_file)def plot_curves(csv_file):# 读取CSV文件df = pd.read_csv(csv_file)num_rows, num_columns = df.shapelines = []# 绘制每一行的曲线图for i in range(num_rows):plt.clf() # 清空画布上的所有内容。此处不能调用此函数,不然之前画出的轨迹,将会被清空。y_values = df.iloc[i] # 使用前frame+1个数据x_values = range(1, len(y_values) + 1) # 横坐标使用数据个数line, = plt.plot(x_values, y_values)lines.append(line)plt.pause(0.00001) # pause a bit so that plots are updatedif is_ipython:display.clear_output(wait=True)display.display(plt.gcf())# 添加标题和标签plt.title('-5mm# Ctm Carpet')plt.xlabel('X')plt.ylabel('Y')# 添加图例plt.legend()# 显示图形plt.show()# 用法示例
csv_file_path = csv_files_list[0] # 替换为你的CSV文件路径
plot_curves(csv_file_path)
下面这两句是动图gif的重点语句
plt.pause(0.00001) # pause a bit so that plots are updatedif is_ipython:display.clear_output(wait=True)display.display(plt.gcf())
plt.clf() # 清空画布上的所有内容。此处不能调用此函数,不然之前画出的轨迹,将会被清空。
一个是暂停时间播放下一帧,一个是画布清除