2013-05-23 21 views
6

Kafes paketini kullanarak R'deki bazı yüzeyleri çiziyorum. Yüzeyin renklerini seçmenin bir yolunu bulamıyorum. İşte bir örnek:Tel kafesin renklerinin manüel olarak tanımlanması

İşte enter image description here

i çizmek nasıl bir örnek her:

theseCol=heat.colors(150) 
mm=paste("WB numbers where present\n(",nstoch," sims)",sep="") 
WBnumbers=wbPrev_series 
rownames(WBnumbers)=KList 
colnames(WBnumbers)=iMwbList 
wireframe(WBnumbers, zlim=c(0,max(wbPrev_series,na.rm=TRUE)), colorkey=FALSE, 
        col.regions=theseCol, scales = list(arrows = FALSE), drape = TRUE, 
        main=mm, zlab="", xlab="K", ylab="iMwb") 

Ben olduğu gibi olmasını ilk yüzey için isterdim, ama diğerleri olmak üzere z seviyeleri ile değil, 1. yüzeyin z seviyeleriyle renklendirilmiştir. Birden fazla şey denedim ama tel kafes daima geçerli değişken için olası aralıkları kabul ettiğim renkleri kabul eder.

Her neyse bu yapılabilir mi? Teşekkürler

+2

Ne yazık ki, bu kafes içinde gerçekleştirmek için çok zor görünüyor. 3 boyutlu nesnelerin oluşturulması, C seviyesinde işlev kullanan paketin bir parçasıdır ('wireframePanelCalculations',' latticePackageSource/src/threeDplot.c'). 'tel kafesiPanelCalculations' ('.Call()') işlevini kullanarak '' kafes ::: panel.3dwire' işlevini çağırır ve sırayla, daha önce tanımlanmış bir R işlevini çağırır,' wirePolygon'; yüzey. C ve R işlevleri arasında geçen tüm bunlar z değerleri ve renk düzeylerinin vektörüdür ve bunu atlamanın hiçbir yolu yoktur. Çok kötü! –

cevap

2

İşte cevap Dave W. R-help posta listesine birkaç yıl önce gönderdi. Muhtemelen tüm iş parçacığını araştırabilirsin. Eğer danışma yeniden için
levelplot bölümüne bakmak gerekir yardımı (wirefrane) 'de tavsiyesine uyarak David Winsemius : Nereden

uygun bir şartname
colorkey ve yardım sayfalarında ilgili bağlantıları takip etmek. Verileriniz
teleferiği için uygun bir giriş olup olmadığı, rapor edilen başarınızın olduğunu düşündüğüm halde,
bilgilerinden tespit edilemez.

Bu benim işaret malzemeyi okuduktan sonra denenmemiş (test etmek için bir şey yoktu çünkü) yabani yamalak tahmin
geçerli:

wireframe(data.m,aspect = c(0.3), shade=TRUE, screen = list(z = 0, x = 
-45), 
    light.source = c(0,0,10), distance = 
0.2,zlab="Freq",xlab="base",ylab="Fragment", 
    col=level.colors(x, at = do.breaks(range(data.m), 30), 
        col.regions = colorRampPalette(c("red", "white", 
"blue")(30)) 
     ) 

EDIT: Josh'un isteği üzerine , ben biraz etrafında oynadı. "Perde" renkler ancak kılavuz çizgileri kendileri belirler

wireframe(dmat,drape=TRUE,col='black',col.regions = colorRampPalette(c("red", "white", "blue"))(30)) 

: Aşağıdaki renk nüansları (örtü) uygulayacaktır. wireframe'un par(new=TRUE) saygısına uymadığı bir utanç vericidir, çünkü eğer veri matrisini z-aralıklarına dilimleyebilir ve bir seferde bir rengi fazla çizebiliriz.

Eve döndüğümde eski deneylerimin "arşivi" w/R grafiğimi kontrol etmem gerekecek, ancak veri bağımlı ızgara renkleri almak için scatterplot3d paketini kullanarak sona erdiğimi düşünüyorum.

+0

Muhtemelen, eğer doğru bir şekilde anladıysam, iş parçacığının daha önce işlenmemiş olduğu bildirilmiş, test edilmemiş vahşi tahminler göndermeye değmez;). Eğer bir şekilde işe yarıyorsa, bize nasıl gösterebilirdiniz? –

+0

Merhaba arkadaşlar, söylediğim için üzgünüm ama işe yaramıyor. Şimdi uzaklaştım çünkü imkansız bir görev gibi geliyor. Cevaplar için teşekkürler. – lourencoj

İlgili konular