Re: [問題] 將兩組data繪製成X,Y座標
※ 引述《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
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章