[email protected][Table[
(*colors, dont mind*)
{ColorData["CMYKColors"][(a[[r, t]] - .000007)/(.0003 - 0.000007)],
(*point size, dont mind*)
PointSize[1/Sqrt[r]/10],
(*Coordinates for your points "a" is your data matrix *)
Point[
{(rr =Log[.025 + (.58 - .25)/64 r]) [email protected](tt = t 5 Degree),
rr [email protected]}]
} &@
(*values for the iteration*)
, {r, 7, 64}, {t, 1, 72}], 1]
(*Rotation, dont mind*)
/. gg : Graphics[___] :> Rotate[gg, Pi/2]
回答
好吧,我會咬人的。首先,Mathematica允許通過several forms之一應用函數:標準格式 - f[x]
,前綴格式 - f @ x
,後綴格式 - f // x
和中綴格式 - x ~ f ~ y
。 Belisarius的代碼使用標準和前綴形式。
那麼,讓我們先看看最外面的功能:Graphics @ x /. gg : Graphics[___]:> Rotate[gg,Pi/2]
,其中x
是Flatten
裏的所有內容。實質上,這樣做是從x
創建一個Graphics
對象,並使用named pattern(gg : Graphics[___]
)將產生的Graphics
對象旋轉90度。
現在,要創建一個Graphics
對象,我們需要提供一堆原語,這是一個嵌套列表的形式,其中每個子列表都描述了一些元素。這通過Table
命令完成,其格式爲:Table[ expr, iterators ]
。迭代器可以有多種形式,但在這裏它們都有表格{var, min, max}
,並且由於它們缺少第4個術語,它們以整數步驟採用min
和max
之間的每個值。所以,我們的迭代器是{r, 7, 64}
和{t, 1, 72}
,並且expr
是針對它們的每個值進行評估的。因爲,我們有兩個迭代器產生一個矩陣,這會混淆Graphics
,所以我們使用Flatten[ Table[ ... ], 1]
我們將矩陣的每個元素都放到一個簡單的列表中。
Table
生成的每個元素很簡單:顏色(ColorData
),磅值(PointSize
)和點位置(Point
)。所以,用Flatten
,我們創建了以下內容:
Graphics[{{color, point size, point}, {color, point size, point}, ... }]
顏色生成是從數據中提取,並假定該數據已被放入一個叫做a
列表。 a
的各個元素通過Part
構造來訪問:[[]]
。表面上,ColorData
結構有點奇怪,但它可以被讀爲ColorData["CMYKColors"]
返回一個ColorDataFunction
,當提供0和1之間的值時,該結果會產生CMYK顏色值。這就是爲什麼來自a
的數據按照原來的方式縮放的原因。
點的大小由徑向座標生成。您預期1/Sqrt[r]
隨着r
的增加,點的大小應該會變小,但Log
會反轉比例。
同樣,點位置是從徑向和角度(t
)變量產生的,但Point
只接受它們的{x,y}
形式,所以他需要將它們轉換。在從{r,t}
到{x,y}
的轉換中出現兩個奇數構造:在計算x
時,rr
和tt
兩者都是Set(=
),允許在計算y
時使用它們。另外,術語t 5 Degree
讓Mathematica知道角度是度數而不是弧度。另外,正如所寫的那樣,有一個錯誤:緊隨關閉}
後,&
和@
不應該在那裏。
這有幫助嗎?
- 1. 如何爲熱圖創建強度遮罩?
- 2. 請解釋的Perl代碼
- 3. 請解釋的代碼
- 4. 請解釋的Perl代碼
- 5. 請解釋Javascript圖像旋轉代碼
- 6. 請解釋這些代碼
- 7. 請解釋TSQL代碼:
- 8. 請解釋一下代碼
- 9. 請解釋這段代碼
- 10. 解釋此C#代碼,請
- 11. 請解釋一下代碼?
- 12. 如何使用KMZ文檔創建Google可視化強度/熱圖?
- 13. Can AnyOne請解釋此代碼請
- 14. 請解釋這個Ruby代碼(在軌)
- 15. 平滑密度圖Mathematica
- 16. 密碼強度
- 17. C++中的密碼強度
- 18. 請解釋此代碼的含義?
- 19. 請解釋這段代碼的工作?
- 20. 的Javascript解釋這個代碼,請
- 21. 請解釋此代碼的含義
- 22. 誰能解釋下面的代碼,請
- 23. 請解釋下面的代碼?
- 24. 請解釋此Syncsort代碼的作用?
- 25. R中的熱圖或密度圖
- 26. Matlab密度圖,熱圖,Matlab
- 27. 解碼與調度解釋與線程解釋
- 28. 創建python循環來縮短龜圖形代碼的長度
- 29. 那麼創建儀表來檢查密碼強度在PHP?
- 30. 創建熱鍵以插入代碼
對於Mma社區這裏:這是這一個的後續http://stackoverflow.com/questions/5161814/creating-spectral-heat-maps-or-intensity-maps-from-cdip-data-using-紅寶石。我現在無法完善它。 – 2011-03-02 17:51:06