楼主: fei355
5161 11

[stata资源分享] Stata 花蝴蝶--连玉君 [推广有奖]

已卖:1684份资源

学科带头人

30%

还不是VIP/贵宾

-

威望
0
论坛币
20591 个
通用积分
837.2133
学术水平
94 点
热心指数
91 点
信用等级
77 点
经验
37358 点
帖子
2989
精华
1
在线时间
899 小时
注册时间
2008-12-4
最后登录
2025-11-23

楼主
fei355 发表于 2013-12-26 12:00:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
感谢连老师的程序,偶尔拿来看看,很是好看!改程序复制后在stata 12中do文件中,然后可以运行出来,不过下面有个牛人用excel做出更好看的图形,令人佩服!

*--------------------------------- Stata 花蝴蝶-------------------------------
*-蝴蝶身体部分
  clear
  local b0 = -400
  local b1 = 4
  local d  = 0.01
  local N = int((`b1'-`b0')/`d')
  set obs `N'
  gen t = -400 + _n*`d'
  gen a = cos(t)
  gen b = cos(4*t)
  gen x = sin(t)*(exp(a)-2*b-(sin(t/12)*sin(t/12)*sin(t/12)*sin(t/12)*sin(t/12)))
  gen y = cos(t)*(exp(a)-2*b-(sin(t/12)*sin(t/12)*sin(t/12)*sin(t/12)*sin(t/12)))

*-胡须
  dropvars x2 y2 x3
  gen y2 =.
  gen x2 =.        
  local j = 1
  local end = (_pi/4+0.20)
  forvalues i = 0.20(0.01)`end'{
    qui replace x2 = `i' in `j++'
  }
  replace y2 = 3*sin(2*(x2-0.20))+2.5
  gen x3 = -x2  //左半只

*-绘图
  twoway (line y x if y>0, lc(pink*0.55) lw(*2.5))    ///
         (line y x if y<0, lc(pink*0.70) lw(*2.5))    ///
         (line y2 x2     , lc(yellow*1.2) lw(*3.5))   ///
         (line y2 x3     , lc(yellow*1.2) lw(*3.5)),  ///
         yscale(off) xscale(off) legend(off)
*-----------------------------------------------------------------------------

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata 花蝴蝶 连玉君 forvalues 花蝴蝶 local

我就是我!

沙发
pcjoshua 在职认证  发表于 2013-12-26 12:31:38
不错不错哈

藤椅
tmdxyz 发表于 2013-12-27 05:00:58
我运行上述程序,怎么出不来结果呢?是什么版本呀?

板凳
zj20000101 发表于 2013-12-27 11:20:20
前几天和同学讨论excel与stata谁更好用,同学的excel水平较高,所以数据前期处理都在那里做,我们除了当下的原数据是excel之外,其他处理过程全用stata。大家争得面红耳赤。最后我们问他:“excel能画蝴蝶吗?”同学傻了:“啥?”

报纸
fei355 发表于 2013-12-27 16:33:07
zj20000101 发表于 2013-12-27 11:20
前几天和同学讨论excel与stata谁更好用,同学的excel水平较高,所以数据前期处理都在那里做,我们除了当下的 ...
实际上EXCEL功能很强大,很全面,但是不够专业,在某些专业领域还是有局限性的!从这一点来看,STATA还是够专业的!
我就是我!

地板
williamjhan 发表于 2013-12-27 18:34:26
跑不出来

.   drop variables x2 y2 x3
variable variables not found

7
voodoo 发表于 2013-12-27 19:07:11
zj20000101 发表于 2013-12-27 11:20
前几天和同学讨论excel与stata谁更好用,同学的excel水平较高,所以数据前期处理都在那里做,我们除了当下的 ...
谁说Excel做不了花蝴蝶啦?!
当然,Stata的长处也绝不在于做花蝴蝶!!

hhd.png

问题的关键是不要随意贬薄一种被广泛使用的工具——工具的效果取决于使用它的人,最怕“半桶水”啦!

那段Stata程序更简洁且运行无误的写法应该是:
clear

// 蝴蝶的身体

local b0 = -400
local b1 = 4
local d  = 0.01
local N = int((`b1'-`b0')/`d')
set obs `N'
gen t = -400 + _n*`d'
gen a = cos(t)
gen b = cos(4*t)
gen x = sin(t)*(exp(a)-2*b-sin(t/12)^5)
gen y = cos(t)*(exp(a)-2*b-sin(t/12)^5)


// 蝴蝶的胡须
local end = ceil(_pi/0.04)
gen x2 = 0.20 + 0.01*(_n-1) in 1/`end'

gen y2 = 3*sin(2*(x2-0.20))+2.5
gen x3 = -x2


// 作图
twoway (line y x if y>0, lc(pink*0.55) lw(*2.5))    ///
   (line y x if y<0, lc(pink*0.70) lw(*2.5))    ///
   (line y2 x2     , lc(yellow*1.2) lw(*3.5))   ///
   (line y2 x3     , lc(yellow*1.2) lw(*3.5)),  ///
   yscale(off) xscale(off) legend(off)

hhd2.png

hhd.png (59.49 KB)

hhd.png

巫毒上传,必属佳品!
坛友下载,三思后行!

8
zj20000101 发表于 2013-12-27 20:07:24
voodoo 发表于 2013-12-27 19:07
谁说Excel做不了花蝴蝶啦?!
而Stata的长处也决不在于做花蝴蝶!!
真牛人啊。果然是天外有天。
不过是说excel不好,当时只是和同学讨论,希望他和我们一起用同一种工具,比较好讨论。

9
chenjun24102 发表于 2013-12-28 16:54:45
excel能用到这样,确实很厉害的。

10
zjs123slp 发表于 2013-12-28 17:42:20
voodoo 发表于 2013-12-27 19:07
谁说Excel做不了花蝴蝶啦?!
当然,Stata的长处也绝不在于做花蝴蝶!!
这是用execl做的吗,强悍

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 02:24