其他
为了辅导作业,这位家长竟然…
本文作者:张馨月
文字编辑:王碧琪
技术总编:李朋冲
重磅!!!为了大家能够更好地学习Python技术,以及应广大粉丝和往期学员的要求,2019年11月29日-12月1日,武汉字符串数据科技有限公司将在湖北武汉举办《第四期Python编程技术培训》。本次培训采用理论与案例相结合的方式,旨在帮助零基础学员轻松入门Python,由浅入深学习和掌握Python的编程技术,特别是网络数据抓取技术。目前正在火热招生中~
如果有兴趣,具体培训内容详见《2019年Python第四期培训招生》,报名请点击:阅读原文哦~
twoway function y=-0.25*(x^2)+0.5*x+2,range(-3 5) ///画出函数在-3至5范围内的图像
yscale(noline) xscale(noline) xtitle("") ytitle("") ///不显示x、y轴的线及标题
xline(0,lstyle(foreground)) yline(0,lstyle(foreground)) ///在x=0与y=0处画线
text( 2 4 "y=-0.25*(x^2)+0.5*x+2", place(n) box margin(l+0.5 t+1 b+1) width(35)) //在点(2,4)上方标明函数
range()用来设置函数x值变动的范围;
yscale( ) xscale() xtitle() ytitle()用来对坐标轴的线条和标题进行设定;
xline()yline()用来在特定的x、y值处画线;
text()用来在图形上进行标注。
twoway function y=x*(x^2-1),range(-2 2) ylabel(-4(2)4) xlabel(-2(1)2) ///
yscale(noline) xscale(noline) ///
xline(0,lstyle(foreground)) yline(0,lstyle(foreground))
polyroots((2,0.5,-0.25))
我们可以看到对于一个二次函数,需要输入三项。因为常数项为2,可以看作x^0的系数;x^1的系数为0.5;x^2的系数为-0.25。
dis -0.25*(0^2)+0.5*0+2
dis -0.25*(0^2)+0.5*0+2 //计算得到x=0时y的取值为2
mata //进入mata环境
mata clear //清空mata内存
polyroots((2,0.5,-0.25)) //求解y=0时x的取值
polyroots((0,0.5,-0.25)) //求解y=2时x的取值
end
clear
input x y
-2 0
2 2
end //输入两点坐标(-2,0)(2,2)
reg y x //两点回归,相当于数学中经常用到的“两点式”
adjust x=0 //求x=0时y的取值
mata
mata clear
polyroots((1,0.5,-0.25))
end
dis 3.23606798-(-1.23606798)
[twoway] scatter varlist [if] [in] [weight] [, options]
legend()用来设置图例,关于该选项更为详细的用法可以参考推文《修改图形图例》;
mlabel()对散点加标签;
mlabposition()设置散点标签的位置;
mlabcolor()设置散点标签的颜色。
clear
input x1 y1 str4 name1 //创建3个变量:x1 y1 name1,name1是一个字符型变量,所以要在变量名称前声明“str",并将长度定义为4
-2 0 "A"
0 2 "C"
3.23606798 1 "Q"
0 0 "O"
4 0 "B"
2 2 "D"
-1.23606798 1 "P"
0 1 "E"
end
twoway scatter y1 x1, ///
legend(off) ///不显示图例
mlabel("name1") ///将name1作为各点的值标签
mlabposition(12) ///值标签的位置在12点钟方向
mlabcolor(purple) //颜色设为紫色
twoway (function y=-0.25*(x^2)+0.5*x+2,range(-3 5) ///
yscale(noline) xscale(noline) xtitle("") ytitle("") ///
xline(0,lstyle(foreground)) yline(0,lstyle(foreground)) ///
text( 2 4 "y=-0.25*(x^2)+0.5*x+2", ///
place(n) box margin(l+0.5 t+1 b+1) width(35))) ///
(function y=1,range(-1.236 3.236)) ///
(function y=2,range(0 2)) ///
(function y=0.5*x+1,range(-2 2)) ///
(scatter y1 x1,legend(off) mlabel("name1") mlabposition(12) mlabcolor(purple)) //
*twoway function————画出函数图像
twoway function y=-0.25*(x^2)+0.5*x+2,range(-3 5) ///画出函数在-3至5范围内的图像
yscale(noline) xscale(noline) xtitle("") ytitle("") ///不显示x、y轴的线及标题
xline(0,lstyle(foreground)) yline(0,lstyle(foreground)) ///在x=0与y=0处画线
text( 2 4 "y=-0.25*(x^2)+0.5*x+2", place(n) box margin(l+0.5 t+1 b+1) width(35)) //在点(2,4)上方标明函数
*求解各点坐标
*dis————简单计算
*polyroots————求解方程
*reg————线性回归
dis -0.25*(0^2)+0.5*0+2 //计算得到x=0时y的取值为2
mata //进入mata环境
mata clear //清空mata内存
polyroots((2,0.5,-0.25)) //求解y=0时x的取值
polyroots((0,0.5,-0.25)) //求解y=2时x的取值
end
clear
input x y
-2 0
2 2
end //输入两点坐标(-2,0)(2,2)
reg y x //两点回归
adjust x=0 //求x=0时y的取值
mata
mata clear
polyroots((1,0.5,-0.25))
end
dis 3.23606798-(-1.23606798)
mata
mata clear
polyroots((0,1,0,-4,0,1))
end
*输入各点坐标
clear
input x1 y1 str4 name1 //创建3个变量:x1 y1 name1,其中name1是字符型变量
-2 0 "A"
0 2 "C"
3.23606798 1 "Q"
0 0 "O"
4 0 "B"
2 2 "D"
-1.23606798 1 "P"
0 1 "E"
end
*画出完整图形
twoway (function y=-0.25*(x^2)+0.5*x+2,range(-3 5) ///
yscale(noline) xscale(noline) xtitle("") ytitle("") ///
xline(0,lstyle(foreground)) yline(0,lstyle(foreground)) ///
text( 2 4 "y=-0.25*(x^2)+0.5*x+2", ///
place(n) box margin(l+0.5 t+1 b+1) width(35))) ///
(function y=1,range(-1.236 3.236)) ///
(function y=2,range(0 2)) ///
(function y=0.5*x+1,range(-2 2)) ///
(scatter y1 x1,legend(off) mlabel("name1") mlabposition(12) mlabcolor(purple)) //
关于我们
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。