使用python在blender中讀取csv數(shù)據(jù)制作動態(tài)柱狀圖
效果

準(zhǔn)備數(shù)據(jù)

保存為csv

打開blender,在上部選擇scripting,點(diǎn)擊新建


完整代碼如下(注意python縮進(jìn))
具體說明:
1. 添加需要的模塊
2. 設(shè)置一些全局變量
3. 讀取csv數(shù)據(jù)
4. 獲取總共有幾列
5. 循環(huán)讀取每一行數(shù)據(jù),這里有4行,所以是4次
5.1 獲取這是第幾行數(shù)據(jù),因?yàn)橐苿用總€平面到對應(yīng)的位置
5.2 新建一個邊長為1的平面,并選中它,如圖1

5.3 循環(huán)遍歷每個頂點(diǎn),并移動它。因?yàn)槟J(rèn)新建的物體是以原點(diǎn)為中心,邊長為1,那么每個頂點(diǎn)按Y軸移動0.5,X軸移動0.5,如圖2,如果是第二行數(shù)據(jù),則會向再X軸方向移動1*1距離。

5.4 遍歷這一行的每個數(shù)字,并建立動畫
5.4.1 從第一幀開始,line_length在上面讀取過,總共7列,line_length=7-1=6,循環(huán)6次
5.4.2 切換到目標(biāo)幀,從第一幀開始
5.4.3 延Y軸方向進(jìn)行縮放,i是一行的數(shù)據(jù),i[a],代表第a列的數(shù)字,第一列是國家名,國家名是第0列,a從1開始。float()可以將純字符轉(zhuǎn)化為數(shù)字,這里有/4,進(jìn)行比例調(diào)節(jié),大家可自行設(shè)置。
5.4.4 在縮放數(shù)據(jù)通道上保存關(guān)鍵幀
5.4.5 往后移動20幀,并讀取下一個數(shù)字
6.保存,點(diǎn)擊三角運(yùn)行

獲得,帶有6個關(guān)鍵幀的動態(tài)圖表柱狀圖
