繁体   English   中英

RGB-色标

[英]rgl - color scale

我想在我的R绘图中添加一个色标,但是我真的不知道该怎么做。 我使用了rgl-package。 你能帮助我吗? 对于legend3d它总是说:

参数“ legend”丢失,没有默认值

非常感谢你!

library(rgl)


### als erstes wird ein Fenster geöffnet, in dem der Plot später dargestellt wird
### Vektor ist c(Position x, Position y, Größe x, Größe y)
open3d(windowRect=c(50,50,1000,800))

### einlesen der Variablen, bisher kein Weg gefunden das über Excel zu tun, nachbessern!
### m_dot ist X, n ist y, delta_p ist z
m_dot = c(0.1,0.3,0.5,1.0)
n = c(-100,-30,30,100,250) 
delta_p<-  c(-14.2421875,-0.875,1.8984375,0.1640625,-11.1328125, #hier 0.1 kg/s eintragen
             -21.3203125,2.4765625,11.765625,14.9453125,3.8125,
             -20.8671875,12.6328125,25.296875,39.2109375,34.765625,
             6.6640625,52.1328125,78.1953125,109.078125,157.078125)

### Farben definieren
palette <- colorRampPalette(c("blue", "green", "yellow", "red"))
col.table <- palette(256)
col.ind <- cut(delta_p, 256)

### Plotten des Bildes über persp3d (library(rgl))
### x_lab und z_lab bleiben zunächst frei, damit sie später angepasst werden können
### das gleiche gilt für die Achsen, sie sollen manuelle angepasst werden
persp3d(m_dot, n, delta_p, col=col.table[col.ind],
        xlab="",ylab="Drehzahl [1/min]",zlab="",aspect=c(1,1,1),
        xlim=c(0,1.0), zlim=c(-50,200),
        #box=FALSE
        #legend=TRUE,
        axes=FALSE
        )
### die fehlenden Achsenbeschriftungen werden hinzugefügt
### "edge" definiert die Position der Achse ### "line" definiert den Abstand zur Achse
mtext3d("Delta_p_tot [Pa]",edge="z-+",line=2)
mtext3d("Massenstrom [kg/s]",edge="x--",line=2.7)

### Hinzufügen der Achsen
axes3d(edges=c("x--","y--","z-+"))

### Hinzufügen einer Box um den Plot
rgl.bbox(color="white") 
         #emission="grey50")



### um den Plot in die richtige Position zu bringen, wird das Bild um die Z-Achse gedreht
play3d(spin3d(axis=c(0,0,1),rpm=4),duration=2)
### es wird ein Bild im lokalen Ordner "Dokumente" oder im Arbeitsordner gespeichert
rgl.snapshot("3dplot.png",fmt="png")

您似乎在定义和使用颜色定义时遇到问题:

col.table <- colorRampPalette(c("blue", "green", "yellow", "red"))(11)

persp3d(m_dot, n, delta_p, col=col.table[cut(delta_p, seq(-50, 200, 25))],
        xlab="",ylab="Drehzahl [1/min]",zlab="",aspect=c(1,1,1),
        xlim=c(0,1.0), zlim=c(-50,200),
        box=FALSE,
        legend=TRUE,
        axes=FALSE
)
legend3d("topleft", legend=levels(cut(c(-50,200), 10)), col=col.table, pch=20)
mtext3d("Delta_p_tot [Pa]",edge="z-+",line=2)
mtext3d("Massenstrom [kg/s]",edge="x--",line=2.7)

axes3d(edges=c("x--","y--","z-+"))

plot3d函数col=col.table[col.ind]中的原始颜色定义仅定义了一种颜色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM