将png图形文件从Stata写入Excel



我想在Stata中创建图形,并将底层图形数据(不是生成它们的原始数据)导出到Excel,连同图形文件。我想我坚持使用StataCorp (http://www.stata.com/manuals14/pputexcel.pdf)关于putexcel的官方代码文档,但我一直得到以下错误信息:

picture: expression must be enclosed in ()

当我将相关代码行括在括号中时,我得到了错误

unknown function picture()

有什么建议或提示吗?下面是一个可以运行的代码示例。

sysuse auto, clear
* ------ place for some data manipulations (snip) -----------
tempfile data
save `data'
* plotting
graph bar price foreign
graph export "test.png", replace
* Export plot data (works only w/o by-option in graph command)
serset use
export excel "graphdata.xlsx", sheet("test") firstrow(variables) sheetreplace
putexcel H20 = picture(test.png) using "graphdata.xlsx", sheet("test") modify
serset clear
* re-use original data and plot next graph
use `data', clear
*...

这是你想要的吗:

sysuse auto
export excel using "myresults.xlsx", replace sheet("Data")
graph bar price foreign
graph export "test.png", replace
putexcel set "myresults.xlsx", sheet("Graph") modify
putexcel A1 = picture(test.png)

好的,感谢Stata工作人员的提示,问题解决了。根据记录,这是一个应该使用Stata的putexcel的哪个版本的问题(我没有使用最新的版本-抱歉让你麻烦我自己的问题)。现在我要去putexcel版本2.1.1,2016年8月12日,下面的代码完美地完成了它的意思(你可以用which putexcel找到你的putexcel版本):

sysuse auto, clear
* ------ place for some data manipulations (snip) -----------
tempfile data
save `data'
* plotting
graph bar price foreign
graph export "test.png", replace
* Export plot data (works only w/o by-option in graph command)
serset use
export excel "graphdata.xlsx", sheet("test") firstrow(variables) sheetreplace
putexcel set "graphdata.xlsx", sheet("test") modify
putexcel H20 = picture(test.png)
serset clear
* re-use original data and plot next graph
use `data', clear
*...

最新更新