你需要
正确地
定义本地宏
filename
在你使用它之前。您还需要使用
saving()
和
nodraw
选项中的
line
命令:
local foodir "I:\Games CSVs\"
local foosavedir "I:\Graphs\"
local files : dir "`foodir'" files "*.csv"
cd "`foodir'"
local i = 0
foreach file of local files {
local ++i
insheet using "`file'", comma clear
generate ScrapeDate = daily(scrapedate, "YMD")
format ScrapeDate %tdYY-NN-DD
local filename = substr("`file'", 1, strrpos("`file'", ".")-1)
line average thpercentile v5 v6 ScrapeDate, name("graph`i'", replace) ///
saving("`foosavedir'`filename'.gph", replace) nodraw scale(*.7) title("`filename'") ///
ytitle("Price in US$") legend(size(small))
}
请注意,这样,文件将保存在Stata的
gph
本机格式,这始终是最好的做法,因此如果需要,您可以稍后对其进行编辑。
如果您还希望它们采用不同的图形格式,例如
png
,然后需要在
线
命令:
graph export "`foosavedir'`filename'.png", name("graph`i'")
在这种情况下,你必须
不
已指定
NODRAW
选择权
线
.
如果选择
replace
已指定,并且已保存/导出文件的名称与现有文件冲突。如果文件名是唯一的,就不应该有这个问题。