如何绘制和sem图像相似的图

如何绘制和sem图像相似的图,第1张

绘制和sem图像相似图形方法如下:

能画出结构方程模型图的软件有很多,比如Amos和SmartPLS,这两个软件在可视化方面做的非常好,Mplus和前两个软件有所不同,它是通过语法输入,从diagrammer生成图形,而Amos和SmartPLS是用户直接绘制图形。

R语言也可以绘制结构方程模型图,其优势在于用户可以对SEM图中的变量、线条、形状和颜色进行DIY。本文使用semPlot包中的semPaths函数进行模型图的绘制。

q1, 首先要确定是barplot还是hist,如果是barplot的话,应该不存在breaks的问题,因为barplot的传入参数是个矩阵;

我假设你要画的是个hist,我偶遇过这个问题,我的理解是hist的breaks的值要能被范围整除才行;比如x=1:200,break=7的话,就只能画出4个柱来,但如果breaks=10就没问题;基本上是这样的,偶尔也有例外;比如break=5就不行....奇怪得很

最后,没办法的办法,就只能用barplot代替hist了,barplot肯定不会有这个问题,统计下hist参数中的分布情况,转换成矩阵,用barplot吧;

q2, 貌似一般都用一组因素把这些类别区分开,我用abcde,表示你的小学,中学...了,比如这样:

a=1:7b=8:10c=c(9,10,11)d=c(40,55)e=100:110f=factor(c(rep(1,sum(length(a),length(b),length(c))),rep(2,sum(length(d),length(e)))))#先用c()生成数组,在转换成factor,其实数组也ok的,不过plot()中两个数组和factor不一样 x=c(a,b,c,d,e)plot(x~f)q3, 就我所知不行;yes或no一定也要是能映射到x,y范围内的点才行;你是想表示分类结果吗?如果是的话,通常用颜色,或者在点旁边的text表示。

q4, 举个例子吧

x=-50:50y=x^2+x+1z=10*abs(x)+1 plot(x,y,type='l')lines(x,z,lty=3)legend(c('type1','type2'), x=-20,y=2500, col=c('black','red'), lty=c(1,3))legend的x和y是legend的左上角,匿名参数是类型名称,col,lty,pch 是对应的颜色,线类型,和点类型。

最后,我现在多用ggplot2,如果不抵触的话可以看看,和R的基础作图包思路不是很一样,但是图很清新的;

如果还有问题,建议把数据集data.frame粘贴几行上来,我也试试;

1.利用R包rworldmap &rworldxtra来作图。

2.已有的map数据中一个国家对应一个坐标,一个国家边界,利用这些已有数据+用户数据构建新的画图数据(其他新添加的图均是如此)。

文件逗号分隔,每列的说明:

1.ID

新的类对象属性ID,自定义,等于原来map中的11列ADMIN

2.Name

后期绘图匹配项,同ID即可,等于原来map中的19列NAME

3.LON

绘图时的经度33列LON

4.LAT

绘图时的纬度34列LAT

注意:这里的经纬度是你自己想要标记饼图的经纬度(起到随意标记点的作用)

5.国家名

和原始map文件中的第11列ADMIN ID对应,每个国家都有一个坐标多边形区域,必须把坐标点画在某个国家内

6.饼图分块-1

7.饼图分块-2

8.legend名字

这里一个饼图只分成2部分,用户可自定义添加更多

成品如下

撰文&编辑:VickieQ

校对:HCLO4 &花毛


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/245484.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存