3-डी घनत्व फ़ंक्शन की कल्पना कैसे करें?


19

3-डी घनत्व फ़ंक्शन की कल्पना करने का सबसे अच्छा तरीका क्या है? जैसा कि मैं कल्पना करना चाहूंगा ?

z=fX,Y(x,y)

आवश्यक नहीं है लेकिन इसके लिए Rकोड बहुत अच्छा होगा।


3
मैंने इसे अधिक सांख्यिकीय होने के लिए बदल दिया।

1
यदि उन विकल्पों के बारे में कुछ कमी है, तो यह सबसे उपयोगी होगा यदि आप यह निर्दिष्ट कर सकते हैं कि यह क्या है और वास्तव में आपकी ज़रूरतें क्या हैं ताकि हम एक तरह का विज़ुअलाइज़ेशन पा सकें जो उनके लिए बेहतर हो।
गंग -

1
वे पर्याप्त सुनिश्चित हैं लेकिन मेरे अन्य विकल्प क्या हैं /

3
@ निको, मुझे नहीं लगता कि यह बदलाव से पहले भी एसओ के लिए ऑफ-टॉपिक / बेहतर अनुकूल रहा होगा। कोड के लिए अनुरोध वैकल्पिक के रूप में निर्दिष्ट किया गया था, और data-visualizationहमारे जनादेश का हिस्सा है।
गंग -

1
@whuber, मूल प्रश्न सिर्फ "एक 3D डेटासेट की कल्पना" था (आप इसे संपादित इतिहास में देख सकते हैं)। मुझे लगता है कि विषय पर होने के लिए, हालांकि आपकी बात, जैसा कि स्पष्ट है, स्पष्ट रूप से सही है।
गंग -

जवाबों:


25

वैसे चार संभावित दृष्टिकोण हैं जो दिमाग में आते हैं (हालांकि मुझे यकीन है कि कई और भी हैं) लेकिन मूल रूप से आप डेटा को एक परिप्रेक्ष्य साजिश, एक समोच्च साजिश, एक गर्मी नक्शा या यदि आप 3-डी तितर बितर पसंद करते हैं, तो प्लॉट कर सकते हैं कथानक (जो कि कम या ज्यादा हो, एक परिप्रेक्ष्य कथानक हो, जब आपके पास सभी युग्मों के लिए मान हो । यहां प्रत्येक के कुछ उदाहरण हैं (एक प्रसिद्ध 3-D डेटा सेट से ):z(x,y)R

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

यहां दो अतिरिक्त भूखंड हैं जिनमें पहले दिए गए की तुलना में अच्छे प्लॉटिंग फीचर हैं। यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें इसलिए आपकी पसंद के आधार पर आप 3-डी डेटा सेट की कल्पना करने के लिए कौन सा तरीका तय करेंगे।

Here is the `R` code used to generate these four mentioned plots.
library(fields)
library(scatterplot3d)

#Data for illistarition
x = seq(-10, 10, length= 100)
y = x
f = function(x, y) { r = sqrt(x^2+y^2); 10 * sin(r)/r }
z = outer(x, y, f)
z[is.na(z)] = 1

#Method 1
#Perspective Plot
persp(x,y,z,col="lightblue",main="Perspective Plot")

#Method 2
#Contour Plot
contour(x,y,z,main="Contour Plot")
filled.contour(x,y,z,color=terrain.colors,main="Contour Plot",)

#Method 3
#Heatmap
image(x,y,z,main="Heat Map")
image.plot(x,y,z,main="Heat Map")

#Method 4
#3-D Scatter Plot
X = expand.grid(x,y)
x = X[,1]
y = X[,2]
z = c(z)
scatterplot3d(x,y,z,color="lightblue",pch=21,main="3-D Scatter Plot")

वह हीटमैप अंधा कर रहा है।
गंग -

@ गुंग, (या कोई भी वास्तव में) क्या आप जानते हैं कि क्या कोई साइड बार जोड़ना था जो बताता है कि हीटमैप के रंग किन मूल्यों के अनुरूप हैं? यह निश्चित रूप से छवि कमांड का उपयोग कर रहा है।

3
मुझे लगता है कि आप चाहते हैं कि image.plot()कलर बार को जोड़ने की कमांड हो। इसके अलावा, filled.contour()डिफ़ॉल्ट रूप से जोड़े गए रंग पट्टी के साथ एक समान प्लॉट उत्पन्न करता है।
मैक्रों


2
जब हम यहां हैं, तो मैं सिर्फ यह इंगित करूंगा कि आप किसी भी तरह से रंग पैलेट को अनुकूलित कर सकते हैं ... यह करने के लिए सबसे आसान (लेकिन शायद सबसे अच्छा नहीं) तरीका उपयोग कर रहा है colorRampPalette(), जैसे यदि आप टाइप a = colorRampPalette(c('dark blue','blue','light blue','yellow','orange', 'red','dark red'))करते हैं तो यह एक फ़ंक्शन बनाता है aजो कि उन रंगों से गुजरने वाले एक रंग की निरंतरता का एक असतत सन्निकटन उत्पन्न करता है। तर्क aएक पूर्णांक है जो इस असतत सन्निकटन के संकल्प को निर्धारित करता है।
मैक्रो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.