楼主: arlionn
63537 951

[学习心得] 用 Stata 画蝴蝶和花瓣   [推广有奖]

回帖奖励 243 个论坛币 回复本帖可获得 3 个论坛币奖励! 每人限 2 次(中奖概率 80%)

院士

73%

还不是VIP/贵宾

-

TA的文库  其他...

stata软件常见问题

威望
3
论坛币
9986462 个
通用积分
4185.1198
学术水平
914 点
热心指数
953 点
信用等级
694 点
经验
202559 点
帖子
4681
精华
5
在线时间
2026 小时
注册时间
2005-5-29
最后登录
2025-12-26
毕业学校
西安交通大学金禾经济研究中心

楼主
arlionn 在职认证  发表于 2013-6-15 14:56:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


    连玉君stata课程http://www.peixun.net/author/3.html

     连玉君优酷视频: http://i.youku.com/arlion

     Stata现场培训-初级班【New, 四天,北京】http://www.peixun.net/view/307_detail.html

     Stata现场培训-高级班【New, 四天,北京】http://www.peixun.net/view/308_detail.html





guo.bailing 用 SAS 画了一只漂亮的蝴蝶
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=2137037&page=1&from^^uid=40938)。
按其思路,我画了一只 Stata 蝴蝶,程序略改后,又画了两朵花。

*--------------------------------- 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)
*-----------------------------------------------------------------------------

butterfly.JPG

*--------------------用 Stata 绘制花儿: 忽悠小朋友用------------------------------------
  clear
  local b0 = -400
  local b1 = 4
  local d  = 0.005  //0.01
  local N = int((`b1'-`b0')/`d')
  set obs `N'
  gen t = -400 + _n*`d'
  gen a = cos(t)
  
*-主要参数  
  local i = 30  // 4   花瓣的数量
  local j = 24  // 12  花瓣叠入程度
  local s = 20  // 2   内瓣和外瓣比例
  gen b = cos(`i'*t)
  gen x = sin(t)*(exp(a)-`s'*b-(sin(t/`j')*sin(t/`j')*sin(t/`j')*sin(t/`j')*sin(t/`j')))
  gen y = cos(t)*(exp(a)-`s'*b-(sin(t/`j')*sin(t/`j')*sin(t/`j')*sin(t/`j')*sin(t/`j')))
   
*-绘图
  set scheme s2color
  local c "pink"
  local c "red*0.3"
  local z "0.8"     //线宽
  twoway (line y x if y>0, lc(`c') lw(*`z')) ///
         (line y x if y<0, lc(`c') lw(*`z')) ///
         , yscale(off) xscale(off) legend(off)      
*------------------------------------------------------------------------------------------

flower2.JPG



    连玉君stata课程http://www.peixun.net/author/3.html

     连玉君优酷视频: http://i.youku.com/arlion

     Stata现场培训-初级班【New, 四天,北京】http://www.peixun.net/view/307_detail.html

     Stata现场培训-高级班【New, 四天,北京】http://www.peixun.net/view/308_detail.html





二维码

扫码加我 拉你入群

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

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

关键词:Stata tata forvalues forvalue replace 蝴蝶 暑期培训 fromuid 花蝴蝶 local

已有 5 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
arthistory4 + 2 精彩帖子
crystal8832 + 50 + 2 + 2 + 2 精彩帖子
zhangibt + 80 可以直接删掉dropvar那一句,这样就木有这个.
1115324 + 1 + 1 精彩帖子
huangliang0828 + 1 + 1 观点有启发

总评分: 经验 + 80  论坛币 + 50  学术水平 + 3  热心指数 + 6  信用等级 + 3   查看全部评分

本帖被以下文库推荐

沙发
voodoo 发表于 2013-6-15 22:10:35

回帖奖励 +1 个论坛币

蝴蝶Piao<<liang!小花差点。












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

藤椅
zzl19910906 发表于 2013-6-15 23:30:43
收藏了

板凳
改革同步 发表于 2013-6-16 18:09:11
学习学习

报纸
weiha 发表于 2013-6-17 00:50:12
牛逼啊

地板
angelatao 发表于 2013-6-17 10:40:32

回帖奖励 +5 个论坛币

太美了    !

7
sewind_tj 发表于 2013-6-17 15:22:31

回帖奖励 +5 个论坛币

精致作品!
善待你一生!
让网络基于真人的故事!

8
lymei88 发表于 2013-6-17 22:40:50

回帖奖励 +5 个论坛币

精品,太漂亮了~

9
stata18 发表于 2013-6-18 07:05:28

回帖奖励 +5 个论坛币

漂亮

10
joyye2008joyye 发表于 2013-6-18 08:50:41
连老师威武

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 03:34