Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在rgl (R)中使用图例绘制三维图形

如何在rgl (R)中使用图例绘制三维图形
EN

Stack Overflow用户
提问于 2021-06-23 16:05:52
回答 1查看 79关注 0票数 1
代码语言:javascript
运行
AI代码解释
复制
This is what the sample looks like: 

             PC1        PC2        PC3         PC4 clusterNum
1     -3.0278979 -0.9414093 -2.0593369 -0.92992822          6
2     -1.5343149  2.5393680 -0.6645160 -0.42415503          1
3     -3.1827899  0.4878230 -2.1716015  0.87140142          1
4     -2.0630451 -0.6765663 -2.0103567 -1.20913031          6
5     -2.5608251  0.3093504 -1.8429190 -0.08175088          1
6     -2.3229565  2.1314606 -1.0680616  0.53312488          1
7     -1.8015610 -0.4233978 -0.7954366 -0.74790714          6
62378 -2.5379848 -1.3008801 -1.3621545  0.93952670          6
62379  0.5763662 -0.5990910 -0.2045754  0.32887753          5
62380  1.0751095 -0.9948755  0.4209824  0.89306204          5
代码语言:javascript
运行
AI代码解释
复制
 data <- structure(list(PC1 = c(-3.02789789907534, -1.53431493608036,-3.18278992851587, -2.06304508820853, -2.56082511958789, -2.32295654380193,-1.80156103002696, -2.53798478044841, 0.57636622461764, 1.07510945315635), PC2 = c(-0.94140934359441, 2.53936804189767, 0.487822997171811,-0.676566283079183, 0.309350374661524, 2.13146057296978, -0.423397780929157,-1.30088008176366, -0.599090979848925, -0.994875508747934), PC3 = c(-2.05933693083859,-0.664515950436883, -2.17160152842666, -2.01035669961785, -1.84291903624489,-1.06806160129806, -0.795436603544969, -1.36215450269855, -0.204575393904516,0.420982419847553), PC4 = c(-0.929928223454337, -0.424155026745399,0.871401419380821, -1.20913030836257, -0.0817508821137412, 0.533124880557676,-0.747907142699851, 0.939526696339997, 0.328877528585212, 0.893062041850707), clusterNum = c(6L, 1L, 1L, 6L, 1L, 1L, 6L, 6L, 5L, 5L)), row.names = c(1L,2L, 3L, 4L, 5L, 6L, 7L, 62378L, 62379L, 62380L), class = "data.frame") 

因此,我正在学习使用rgl包在R中绘制3d。我使用此代码来绘制我的数据。

plot3d(data$PC1, data$PC2, data$PC3, col=data$clusterNum),这是我的输出;

我的问题是如何根据我的clusterNum列添加图例来可视化这个图表。

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-23 16:35:37

使用rgl::legend3d()。您可以实际使用graphics::legend()函数的所有参数,例如定义图例的xy坐标,并为点字符pch=提供一个值来打印点,为任何其他形状查找?pch。要获得legend=元素,只需sort G集群变量的unique值。对于点颜色,使用您在绘图中使用的相同技巧。

代码语言:javascript
运行
AI代码解释
复制
library(rgl)
with(data, plot3d(PC1, PC2, PC3, col=clusterNum))  ## use `with` to get nicer labs
k <- sort(unique(data$clusterNum))
legend3d(x=.1, y=.95, legend=k, pch=18, col=k, title='Cluster', horiz=TRUE)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68103445

复制
相关文章
构建云原生应用的十二要素原则(上)
12要素原则是一种构建可扩展、高性能、高健壮性应用的方法论或原则。12要素原则天然地适用于微服务,并且随着微服务的发展,这些原则也变得越来越流行。
段立功
2022/06/13
7980
大数据在P2P借贷上的四大要素
现在P2P借贷领域的许多人,包括我自己,都喜欢使用借贷平台提供的大数据来分析趋势和帮助自己更好地了解借款人,以及分析他们的行为,从而来控制我们在 P2P借贷市场上的风险。借贷平台的网络属性使得许多早期的零售投资者是以技术为导向,因此一直存在着一种误解就是,要想成为一名成功的投资者,你需要学 会了解并利用大数据。如果你愿意自学一些信贷和金融技术来帮助你在P2P借贷领域做出更好的投资决策,你就会知道事实并非如此,而且可谓是大错特错 大数据并不能解决所有问题,你需要了解在关于大数据在P2P借贷
大数据文摘
2018/05/18
9351
《风格的要素》中的编程格言
之所以翻译这篇文章,因为它与我之前关于如何/为什么要写出更易懂的代码的思考有很多关联,但更进一步的是,这篇文章直接指出了写作与编程在原则上的相似性,本质上他们都是一种面向人类的表达。
ThoughtWorks
2019/12/26
1.1K0
MultiButton事件触发型按键驱动模块在高云FPGA上的移植
前两篇文章介绍了letter-shell串口终端和cmd-parse串口命令解析器在高云FPGA GW1NSR-4C SoC上的移植:
单片机点灯小能手
2023/09/23
7552
MultiButton事件触发型按键驱动模块在高云FPGA上的移植
事件风暴的设计要素与驱动力
个人认为,相比较传统领域分析方法,事件风暴的革命意义在于它建立了以“领域事件”为核心的建模思路,这相当于改变了我们观察业务领域的世界观。
张逸
2019/03/07
1.7K0
事件风暴的设计要素与驱动力
领域驱动设计中的架构要素
多数时候,领域驱动设计的分层架构并不能清晰表达各模块之间的依赖关系,以及这些模块在分层架构中所处的位置。因为我倾向于将Uncle Bob的Clean Architecture与DDD的分层架构整合起来,如下图所示:
张逸
2018/10/10
3.5K0
领域驱动设计中的架构要素
WPF 多个 StylusPlugIn 的事件触发顺序
如果在 WPF 使用 StylusPlugIn 同时在同一个界面用多个元素都加上 StylusPlugIn 那么事件触发的顺序将会很乱 我建议是不要让 StylusPlugIn 有重叠,在没有理解 StylusPlugIn 之前请不要写出让 StylusPlugIn 有重叠的代码。因为可能有小伙伴移动了一个元素就让你的代码的行为和之前写的不一样
林德熙
2022/08/04
8070
WPF 多个 StylusPlugIn 的事件触发顺序
如果在 WPF 使用 StylusPlugIn 同时在同一个界面用多个元素都加上 StylusPlugIn 那么事件触发的顺序将会很乱 我建议是不要让 StylusPlugIn 有重叠,在没有理解 StylusPlugIn 之前请不要写出让 StylusPlugIn 有重叠的代码。因为可能有小伙伴移动了一个元素就让你的代码的行为和之前写的不一样
林德熙
2019/10/23
9080
WPF 多个 StylusPlugIn 的事件触发顺序
EDI的三要素
本文主要介绍EDI的三要素,包括:数据标准化、EDI软件及硬件、传输协议。这三个要素需要协同合作,才能构成完整的EDI。
EDI Iris
2021/08/20
5240
EDI的三要素
十二要素
一份基准代码(Codebase),多份部署(deploy) 尽管每个应用只对应一份基准代码,但可以同时存在多份部署。每份 部署 相当于运行了一个应用的实例。
分母为零
2019/07/04
7650
EDI的三要素
本文主要介绍EDI的三要素,包括:数据标准化、EDI软件及硬件、传输协议。这三个要素需要协同合作,才能构成完整的EDI。
知行软件EDI
2020/12/01
1K0
mfc vc++ 如何求点到直线的距离 判断点是否在线要素上?
首先知道线要素由点要素数组points构成,points可以是CPoint类型、Point类型、或者自定义类型。要判断Point类型的点p是否在由points组成的线要素上,只需要遍历计算该点到每一条线的距离,来判断点是否在线要素的某一部分上。
acoolgiser
2019/01/16
1K0
事件总线怎么使用?事件总线三要素有哪些?
可能很多人对于事件总线这个概念非常模糊,但“观察者模式”想必很多人都听说过。事件总线实际上就是对于观察者模式的一种实现,它以集中式事件的处理机制,让不同的组件之间能够彼此通信但又不会相互依赖。那么,事件总线怎么使用呢?下文中将会为大家作出介绍。
用户8715145
2022/03/18
3860
TKE容器实现限制用户在多个namespace上的访问权限(上)
kubernetes应用越来越广泛,我们kubernetes集群中也会根据业务来划分不同的命名空间,随之而来的就是安全权限问题,我们不可能把集群管理员账号分配给每一个人,有时候可能需要限制某用户对某些特定命名空间的权限,比如开发和测试人员也可能需要登录集群,了解应用的运行情况,查看pod的日志,甚至是修改某些配置。这时候,我们可以通过创建受限的kubeconfig文件,将该config分发给有需要的人员,让他们能通过kubectl命令实现一些允许的操作
chen1900s
2020/07/23
2.1K0
【阿信子程序学习笔记(3)】FORTRAN程序的基本要素要素
运行程序之后,在弹出的黑框中通过输入任意两个数值,比如下图中1和2,得到计算结果为3.0和2.0
阿信老师CAE
2022/05/17
3340
【阿信子程序学习笔记(3)】FORTRAN程序的基本要素要素
落地DevOps的三要素
前面的2篇文章,分别介绍了对devops的定义和理解以及devops的落地路线图。
老_张
2023/03/01
3160
落地DevOps的三要素
从根本上把握防护DDoS的核心要素,不怕DDoS攻击防不住
随着互联网技术的广泛应用和飞速发展,DDoS流量攻击案件频发,网站防护DDoS变得越来越重要,只有采取有效的网站安全防护措施,才能够更好的防御黑客的攻击。
blublu7080
2020/12/18
3.6K0
从根本上把握防护DDoS的核心要素,不怕DDoS攻击防不住
多态形成的三要素
上一篇文章中,我们看到了简单的赋值兼容模型,将子类赋值给父类对象时,调用共有的同名接口时,调用的依然还是父类的成员函数。在 C++ 中,有一个总要的概念,那就是多态。通过父类提供一些虚函数,让子类继承下去并实现为另外的功能,然后将子类对象的地址赋值给父类的对象指针。这样再次使用父类的指针调用共有同名接口时,你会发现它竟然调用的是子类的方法。这一切都来源于一个关键字“virtual”。
我与梦想有个约会
2023/10/20
2350
多态形成的三要素
元素建模:探索建模的要素
在先前的一系列云研发体系的文章里,我们一直在对需求、代码等各种软件开发元素进行抽象、定义、建模。随着,这个抽象过程的一步步深入,便发现我们似乎也需要对于建模这一件事,做一层抽象。
Phodal
2021/12/04
4210
点击加载更多

相似问题

获取要素属性时的Leaflet TypeError

124

单个要素文件中的多个要素

30

使用Leaflet旋转geojson要素

16

Leaflet -使用Leaflet-Geoman插件选择多个geoJSON面要素

1158

捕捉到多个图层上的要素

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档