Re: [問題] Data Export 與一些繪圖上的問題

作者: chungyuandye (養花種魚數月亮賞星星)   2014-10-05 07:57:17
※ 引述《boson5566 (勃鬆)》之銘言:
: 大家好
: 小弟是Mathematica的新手(用的是Mathematic 7)
: 最近因為要跑一些數值法所以才剛接觸不久
: 目前碰到了以下兩個問題 請各位幫忙解答
: 1.請問要怎麼把Mathematica畫完的圖
: 裡面的資料輸出成excel.orign可以處理的檔案
Plot的話,你的圖//InputForm,被Line包起來的就是你要的點
Plot3D的話,你的圖//InputForm,被GraphicsComplex包起來的第一個元素
就是你要的點,其他的則是修飾圖形的資料
其他的ContourPlot、ContourPlot3D...方法不全然相同,但類似
(* 在你的圖裡面的任意level尋找被line包起來的東西,把它命名為pts,再轉輸出*)
pts1=Cases[你的圖,Line[pts__]:>pts,Infinity]
: 目前有看過export這個指令 但是輸出來的用excel打開是橫的
: 而且充滿一堆{}.[].以及英文字母 完全不知道該怎麼處理..
: 目前想到的是自己用Get coordinate抓坐標自己繪圖
: 也有查到用
: data = Table[{x,x^2,x^3,x^4},{x,0,20}];
: Export["data.csv",data]
(* 如果有很多函數,那就會分別存在不同工作表 *)
Export["pts1.xls",pts1]
: 不過他的間隔單位是1 而我需要的間隔單位很小很小(約10^-4)
: 所以也是不知道該怎麼處理
: 2.怎麼把兩張圖畫成一張圖?
: 目前查到SHOW這個指令或是用PLOT畫在一起
: 不過我想要的是兩張圖不同區間可以合在同一張圖上
: 例如A的範圍是0~1 B的範圍是1~2 我想把AB合在一起畫成0~2
: 能有指令的話最好 目前我想到的是把資料抓出來再自己重畫
: 不過資料也抓不出來(崩潰)
: 拜託各位高手救救小弟
資料都抓出來了,ListPlot[{資料1,資料2}]
plot1 = Plot[Sin[x], {x, 0, 2 Pi}]
plot2 = Plot[2 + Sin[x], {x, 0, 2 Pi}]
plot3 = Plot3D[Sin[x + y], {x, 0, 2 Pi}, {y, 0, 2 Pi}]
(* [[1]]只的事第一個元素,把[[1]]想成就是抓第一條件的資料 *)
threesmall1 =
Cases[plot1, Line[threesmall__] :> threesmall, Infinity][[1]];
threesmall2 =
Cases[plot2, Line[threesmall__] :> threesmall, Infinity][[1]];
(* 這邊的[[1]]只的是指抓資料點,其他的修飾圖形的資料就不抓取了 *)
threesmall3d =
Cases[plot3, GraphicsComplex[threesmall3d__] :> threesmall3d,
Infinity][[1]]
ListLinePlot[{threesmall1, threesmall2}]
ListPlot3D[threesmall3d]
ListPlot3D[{#[[1]], #[[2]], Abs[#[[3]]]} & /@ threesmall3d]
作者: boson5566 (勃鬆)   2014-10-05 12:46:00
我成功了 謝謝你!!!
作者: leo80042 (嗯嗯啊啊去洗澡)   2014-10-08 23:47:00

Links booklink

Contact Us: admin [ a t ] ucptt.com