2015-03-31 64 views
1

我有太陽光譜,這是我使用命令繪製的3D線圖,的Python - 顏色的3D線圖

from mpl_toolkits.mplot3d.axes3d import Axes3D 
from matplotlib.collections import PolyCollection, LineCollection 
from matplotlib.colors import colorConverter, ListedColormap, BoundaryNorm 
import matplotlib.cm as cm 

fig = plt.figure(figsize(15, 8)) 
ax = fig.gca(projection='3d') 

x = SpectrumDF['Wavelength'] 
z = SpectrumDF['DNI'] 
y = SpectrumDF['TESTNUM'] 

ax.plot(x, y, z) 
ax.set_xlabel('Wavelength') 
ax.set_ylabel('Test Number') 
ax.set_zlabel('Intensity') 

所得情節是純藍色,並採取予給在取其各個顏色函數:plot()。

我一直在嘗試沿着z軸創建一個顏色漸變,強度沒有任何成功。

我有大約500個測試編號,每個編號有744個數據點。

謝謝你的幫助!

這不會讓我發佈圖片,因爲我沒有足夠的聲望。總之,這裏的的情節鏈接我開始使用此代碼https://plus.google.com/106871046257785761571/posts/fMYsDF5wAQa

enter image description here

+0

您沒有上傳圖片。請編輯問題 – 2015-03-31 21:24:11

+0

什麼命令?再次檢查以確保您已包含代碼。 – aestrivex 2015-03-31 21:33:06

+0

您正在使用的命令'plot(x,y,z)'是用於參數曲線的,並且通常不會根據'z'變化的顏色,而且實際上並不是您所擁有的。如果你願意,你可以通過一些努力來添加z-color,但是我建議你環顧一下看起來可以用於你的數據並在那裏工作的例子。如果你只是想添加顏色,請看這裏:http://stackoverflow.com/questions/15617207/line-colour-of-3d-parametric-curve-in-pythons-matplotlib-pyplot(但是,至少,將這些繪製爲每個試驗編號的不同曲線)。 – tom10 2015-03-31 22:34:25

回答

1

使用示例 - Line colour of 3D parametric curve in python's matplotlib.pyplot - 我與沿z軸顏色漸變的散點圖 - 這裏的鏈接到該圖像情節 - https://plus.google.com/u/0/106871046257785761571/posts/SHTsntgQxTw?pid=6133159284332945618&oid=106871046257785761571

enter image description here

我用下面的命令:

fig = plt.figure(figsize(15,8)) 
ax = fig.gca(projection='3d') 

x = FilteredDF['Wavelength'] 
z = FilteredDF['DNI'] 
y = FilteredDF['TESTNUM'] 

ax.scatter(x, y, z, c=plt.cm.jet(z/max(z))) 

ax.set_xlabel('Wavelength') 
ax.set_ylabel('Test Number') 
ax.set_zlabel('Intensity') 

plt.show() 

我仍在努力獲取彩色線條圖,因爲我有很多點,這使得散點圖非常緩慢地工作。

謝謝

+0

謝謝@ tom10 。你能否幫我着色3D線圖?如果需要,我可以附上我所擁有的數據的示例。 – 2015-04-03 17:13:19

+0

你有什麼是一個常見問題,比你可以輕鬆查看更多的數據。我不相信彩色線條是正確的使用方式,並且不一定會加快速度,因爲您仍然需要顯示大約1M的東西。問題在於你試圖顯示如此多的數據點。此外,如果刪除點的邊緣,散點圖看起來會更好:http://matplotlib.org/api/markers_api.html – tom10 2015-04-03 18:55:31

+0

一般來說,我不想下載數據併爲您繪製圖。通常嘗試顯示太多數據點的解決方案是仔細思考你真正想要展示的是什麼。這隻能由你完成。 – tom10 2015-04-03 18:56:52