Re: [問題] 將兩組data繪製成X,Y座標

看板Mathematica作者 (-858993460)時間13年前 (2011/12/18 14:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《terry90715 (terry)》之銘言: : 假如我有一組data : A={1, 2, 3, 4, 5, 6} : 另外有一組 : B={123, 675, 793, 124, 653, 867} : 想要將A,B兩組data作圖 : 把A的資料當作X座標,搭配B的資料當作Y座標 : 即 {1, 123}, {2, 675}, ...,{6, 867} : 然後做點狀圖,請問Plot的指令可以直接下嗎? : 還是要先把A, B合併成另一組資料 : C={{1, 123}, {2, 675}, ...,{6, 867}} : 之後再進行 Plot[C] : 這樣才可以 基本上是要合併出來沒錯 不過方法很簡單 Transpose[{A,B}] 或 Thread[{A,B}] 就是合併後的資料了 合併完之後就直接丟給 ListPlot 剩下的它會幫你搞定的 : ************* : 會這樣問是因為 : 原本A,B兩組 data 是在 Excel 裡的同一組相對應的資料,即 : Column A B : ______________ : 1 123 : 2 675 : 3 793 : 4 124 : 5 653 : 6 867 : 但是不知道怎麼讓Mathematica單獨 Import A欄的資料進來 : 所以之後就把A,B兩欄的資料分開儲存成兩個.xls檔,再分別 Import : 因為我之後想要先將B欄的資料作運算後再與A作圖 : 所以一開始的想法是 : 從最原本的檔案分別 Import A欄,和B欄。 然後B欄的資料運算後再和A欄作圖 : 但是這個部份我不會,所以想順便詢問『怎麼從 Excel 插入指定的資料位置』 其實 .xls 檔 Import 進來時就是一個三維陣列了 以你這例子 剛 Import 進來時是這樣的三維陣列 {{{1,123},{2,675},{3,793},{4,124},{5,653},{6,867}}} 第一維是工作表 亦即這東西的第一元素是第一張工作表的內容 第二元素是第二張工作表的內容 等等 然後每張工作表又是一個普通的二維陣列 因此就可以利用 All 來取出欄 亦即 [[All,1]] 取出第 1 欄 [[All,2]] 取出第 2 欄 等等 那麼如果你要取出第一張工作表的第二欄 就在 Import 進來的東西上取 [[1,All,2]] 即可 -- LPH [acronym] = Let Program Heal us -- New Uncyclopedian Dictionary, Minmei Publishing Co. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.91
文章代碼(AID): #1ExOGU5b (Mathematica)
文章代碼(AID): #1ExOGU5b (Mathematica)