<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Mathematica Plot對象解析

      引言

      從一個簡單的問題談起。怎么樣畫這么一個圖像?

      恩,Rotate一下應該就可以了

      Rotate[Plot[Sin[x], {x, 0, 4 \[Pi]}], 90 Degree]

      但是仔細觀察就會發現一個問題了,x軸是反的。怎么辦呢?

      想到的一個方法是Scale,把x軸Scale到-1倍就可以了。但列位試試,不論怎么把Scale作用到Plot上都是報錯。以前也曾經試圖把Plot對象和Circle,Point畫在同一個Graphics里面,但是同樣也失敗了。這說明 Plot對象和Point, Line 這些 Graphics Primitives很不同, 因此我們有必要研究一下Plot對象的結構。

      探索

      首先使用TreeForm查看一個簡單的 Plot[Sin[x],{x,-1,1}]


      不難發現結果是以Graphics作為根的,這個很容易理解,畢竟Plot出來的結果既含有坐標軸,又含有標簽,還有數據圖像,肯定是個復雜的Graphics對象,在幫助里也說得很明確,“Plot normally returns Graphics[{Line[...],...}]. ”。因此,我們就不能夠把Plot結果像Disk,Arrow一樣插入到Graphics中,因為它自己本身就是Graphics對象。同時,針對graphics primitive的函數也都不能直接作用在Plot結果上,比如上面提到的Scale。

      往下看,Graphics包含了兩個List,前者包含著很多Primitive對象,后者是屬性列表,這和我們平時生成Graphics的方法是一致的,因為它本來就是Graphics嘛。

       

       

      如上圖,我們只看第一個List。它本身也只包含一個List。再往下一層就可以看到我們的圖線了,處于第三層的List包含了Hue和Line兩個元素。我們試著同時繪制兩條圖線,TreeForm@Plot[{x, Sin[x]}, {x, -1, 1}],會發現新添加的圖線也是處于第三層,第二層依然是只有一個孤零零的List。因此我們就可以知道,為了得到 Plot的圖線數據,只需要把第3層的Line集合提取出來就行了

      Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}][[1, 1]] // 
       Cases[#, Line[___], Infinity] &

      使用 Cases, 我們可以提取出以Line開頭的子表達式。

      一鼓作氣

       至此,我們基本了解Plot結果的大致結構了,Plot可以看作是一種特殊的Graphics求值器,先根據函數式求出散點序列,轉換為Line對象,然后填充到一個Graphics對象里。Plot的那些Axes,Epilog,PlotRange屬性,其實是來自于Graphics而已。如果想要把Plot和Circle放到一起,就不能夠想當然的把Plot放到Graphics里面了,因為Graphics是不支持嵌套的,可行方法有以下幾種

      Plot[Sin[x], {x, -1, 1}, Epilog -> Circle[{0, 0}, 0.1]]
      Show[Plot[Sin[x], {x, -1, 1}], Graphics[Circle[{0, 0}, 0.1]]]
      Graphics[{Circle[{0, 0}, 0.1], 
        Inset[Plot[Sin[x], {x, -1, 1}], {0, 0}, {0, 0}, {1, 1}]}]

      如果只是想獲得Plot圖形的數據,以便進一步處理,直接一層層剝皮即可

      Plot[Sin[x], {x, 0, 4 \[Pi]}] // First // First // Last // Last

      或者使用模式匹配

      Plot[Sin[x], {x, 0, 4 \[Pi]}] // Cases[#, Line[___], Infinity] &

      功德圓滿

      現在再來畫文章開頭展示的圖片是不是就很簡單了?

      a = Plot[Sin[x], {x, -4 \[Pi], 4 \[Pi]}] // 
         Cases[#, Line[___], Infinity] &;
      Graphics[{Blue, Thick, Rotate[a, 90 Degree, {0, 0}]}, Axes -> True,
       Ticks -> {{-\[Pi], \[Pi]}, Range[-4 \[Pi], 4 \[Pi], \[Pi]]}, 
       PlotRange -> {{-\[Pi], \[Pi]}, Automatic}]

       

       

       

       

      posted on 2012-08-17 14:03  大寶pku  閱讀(3007)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 精品少妇爆乳无码aⅴ区| 国产精品综合色区av| 摸丰满大乳奶水www免费| 久久精品伊人狠狠大香网| 古田县| 老司机午夜精品视频资源| 国产一卡2卡三卡4卡免费网站| 四虎国产精品免费久久久| 九九热在线免费视频观看| 欧美人与动zozo| 边添小泬边狠狠躁视频| 久久免费精品国自产拍网站| 国产精品呻吟一区二区三区| 亚洲精品毛片一区二区| 日韩中文字幕国产精品| 久久天天躁夜夜躁狠狠85| 欧美久久精品一级c片免费| 日韩 一区二区在线观看| 无码任你躁久久久久久老妇| 国产黄色精品一区二区三区| 美女把尿囗扒开让男人添| 四虎永久精品免费视频| 综合久青草视频在线观看| 日本黄页网站免费观看| 国产激情一区二区三区在线| 国产真实精品久久二三区| 亚洲熟妇乱色一区二区三区 | 四虎成人精品国产永久免费| 最新亚洲人成网站在线影院| 99精品国产综合久久久久五月天| 中文字幕亚洲国产精品| 国产a在视频线精品视频下载| 深夜国产成人福利在线观看| 日本韩国日韩少妇熟女少妇| 内射老妇bbwx0c0ck| 亚洲国产成人精品无色码| 精品久久人人做爽综合| 国产色无码专区在线观看| 欧美成人精品手机在线| 久久综合色之久久综合| 免费人成再在线观看视频|