【问题标题】:Plot graph from multiple CSV files [duplicate]从多个 CSV 文件中绘制图表 [重复]
【发布时间】:2020-12-05 09:19:43
【问题描述】:

我有一个包含多个子目录的项目目录。每个子目录都包含一个 *.csv 文件,其中包含以下格式的数据

text,num,num
text,num,num

第 0 行中的文本后跟以“,”作为分隔符的数字

我编写了用于绘制 '*.csv' 文件的代码。

x = []
y_list= []
with open('d1_data.csv','r') as csvfile:
    plots= csv.reader(csvfile, delimiter=',')
    for row in plots:
        x.append(numpy.log10(float(row[1])))
        y_list.append(float(row[2]))
num = float(1000000)
new_y = [y / num for y in y_list]
plt.plot(x,new_y, marker='o')
plt.title('single_plot')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.show()

相反,我想将存在于不同目录中的每个 '*.csv' 文件中的所有曲线绘制成具有相同 x 和 y 轴的单个图形。每个 '*.csv' 文件值馈送到 'x' 列表需要 log10 的实际值和 log10 的值strong>'y' 需要除以 1000000 如上面的示例代码所示。

有人可以帮我完成这个实现吗?

【问题讨论】:

标签: python pandas csv matplotlib


【解决方案1】:

您可以使用 glob 查找所有带有 *csv 扩展名的文件,为每个文件运行一个 for 循环,并将每个项目附加到列表中,就像您在代码中所做的那样。

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.csv"):
   *enter your code here*

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 2020-06-21
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 2021-09-16
    • 2013-11-28
    • 1970-01-01
    • 2018-01-24
    相关资源
    最近更新 更多