Plot Julia-在目录中打印文件

Plot Julia-在目录中打印文件,plot,julia,data-processing,Plot,Julia,Data Processing,我是Julia的新手,我正在尝试从目录中的数据文件生成绘图。每个文件都是一个单独的绘图。我有以下代码来生成目录中所有txt文件的数组“allfiles” for filename in readdir(pwd()) if endswith(filename, ".txt") push!(allfiles,filename) end end 我还有一个函数myFunction来处理文件中的数据。此函数需要文件名。如何将myFunction应用于allfiles中的每

我是Julia的新手,我正在尝试从目录中的数据文件生成绘图。每个文件都是一个单独的绘图。我有以下代码来生成目录中所有txt文件的数组“allfiles”

for filename in readdir(pwd())
    if endswith(filename, ".txt")
       push!(allfiles,filename)
    end
end
我还有一个函数
myFunction
来处理文件中的数据。此函数需要文件名。如何将
myFunction
应用于
allfiles
中的每个文件名?我尝试了点语法,它返回以下错误

MethodError:没有与myFunction匹配的方法(::数组{String,1})

我还尝试了
map
mapsicles
broadcast
,并将
myFunction
放入一个循环,循环遍历
所有文件的长度(尽管可能不正确)

编辑,
m功能
添加了代码。它一团糟,不能正常工作。我的想法是,我有CSV数据文件,在数据集之间的行中包含格式信息。数据文件的第3行有每个文件中的数据集数量,
nsets
,第4行有数据点数量,
npts
。我想设置函数来读取数据集的数量,然后读取并绘制每个数据集

function myFileFunction(file::String)
  for i=1:length(allfiles)

    m=readdlm(allfiles[i],',' )
    m2=readdlm(allfiles[i], ',', skipstart=4)
    nsets = m[3,1]
    for j=1:nsets
    npts[j] = m[4,1]
    npts2[j] = m[4+npts1+3,1];
    npts3[j] = m[4+npts1+npts2+3+3,1];
    start1 = 1;
    end1 = (start1+npts1-1);
    start2 = (end1+4);
    end2 = (start2+npts2-1);
    start3 = (end2+4);
    end3 = (start3+npts3-1);

    x1 = Float64.(m2[start1:end1,1]);
    y1 = Float64.(m2[start1:end1,2]);
    x2 = Float64.(m2[start2:end2,1]);
    y2 = Float64.(m2[start2:end2,2]);
    x3 = Float64.(m2[start3:end3,1]);
    y3 = Float64.(m2[start3:end3,2]);

    plot(x1,y1)
    plot!(x2,y2)
    plot!(x3,y3)

return "Done"

end
end

如果您不想收集其返回值,请尝试
map(myFunction,readdir()中的filename,如果endswith(filename,.txt))
如果您的函数返回有意义的内容,或者
foreach(myFunction,readdir()中的filename,如果endswith(filename,.txt))
。我认为问题出在
myFunction
上,我还需要做更多的工作。如果你发布
myFunction
的代码,我可以看一下。我用简单的
myFunction
实现测试了我的代码。谢谢。这个函数的开头应该是:
function myFunction(filename::AbstractString)m=readdlm(filename,,'))m2=readdlm(filename,,',,skipstart=4)
。我猜
返回“Done”
是不需要的。