回覆列表
  • 1 # 奇聞播放機

    就作圖後處理這一塊,MATLAB絕對要比Python強。平時經常作圖的人肯定有這種經歷,一張圖做出來後肯定要經過各種調整才可以使用,比如調整字型大小,曲線顏色等。用Python則需要新增相應的程式碼,而MATLAB除了用程式碼實現外還可以直接從圖片上設定需要的引數,非常方便。我現在論文中的資料圖基本都是先用Python得到實驗資料,然後用MATLAB做的。下面重點分享怎樣用MATLAB作圖,及後處理。

    假設我們要用MATLAB畫兩個sin函式的曲線,我們可以不管曲線的格式,先將曲線畫出來

    曲線做好後,我們直接可以在圖上新增或者修改相應的引數。比如

    圖片匯出設定

    對於圖片匯出這部分有兩個需要注意的點

    第二是,儲存時先要儲存一個fig格式額圖片,這個檔案開啟就是處理後的檔案,後面改圖可以直接開啟這個檔案。接下來就可以儲存需要的圖了,比如eps、jpg、png格式圖。

    以上就是我常用的MATLAB作圖技巧。這種方式雖然比較傻瓜,但是不用像Python那樣輸入程式碼來修改格式。可以從一張無任何格式資料圖來透過點選來修改曲線和軸的格式。這個圖我只講了幾個比較常用的設定,曲線的其他部分如網格,刻度等都可以在圖形屬性裡面新增和修改。

  • 2 # 我滴娘誒

    你恰好拿兩個實物不太重要的方面做了比較,比了一個不是太核心,不是太關鍵的方面,好比你說美元和人民的長短哪個更長,哪個更短的問題。

  • 3 # 易三一世

    有,非常強大!這一輪python獲勝。我下面的介紹很適合收藏喲。

    當然,你講的是“作圖”是什麼意思呀?是資料視覺化麼?那也更是python強。

    如果是3d動畫,也是python強大。

    這一切都是因為python很熱,同時有很多庫可以依賴。

    美女與python(蟒蛇)

    今天就僅僅說python的作圖的資料視覺化,適合收藏。

    1 matplotlib:

    網上很多資料,強大的python資料視覺化庫。

    我曾簡單介紹過,文章

    《Deepin-Linux-python3下matplotlib安裝、中文設定、附圖例》

    《python的資料視覺化作圖:pylab、matplotlib和pyplot的關係》

    2 pyecharts:

    華人大作,牛!

    我曾介紹過,文章《python3.8的資料視覺化pyecharts庫安裝和經典作圖,值得收藏》

    3 seaborn:

    是對matplotlib進行高階封裝,在顏色上進行最佳化。

    我曾介紹過,文章《python的高階畫圖seaborn庫安裝、學習、經典例項》

    4 Plotly:

    Plotly 是一款用來做資料分析和視覺化的線上平臺,功能非常強大。

    我曾介紹過,文章

    《Plotly資料視覺化:離線版、微軟vscode版的Python的基本作圖》

    《python的plotly與flask結合的視覺化基本作圖講解》

    5 cutecharts:

    cutecharts:是一款可愛的手繪資料視覺化工具,程式碼原理類似pyecharts。

    我曾介紹過,文章《python3的一款可愛的手繪資料視覺化作圖工具:cutecharts》

    中場休息一

    6 reportlab:

    reportlab模組是用python語言生成pdf檔案的模組,也可以作圖。

    我曾介紹過,文章《python的reportlab庫介紹、製作pdf和作圖》

    7 visvis:

    visvis庫:是Python視覺庫,非常強大。也可以資料視覺化,但不是強項。

    我曾介紹過,文章《python的visvis庫做折線圖(line.py)程式碼詳解》

    8 Pygal:

    Pygal 是另一個簡單易用的資料相簿,它以面向物件的方式來建立各種資料圖。

    我曾介紹過,文章《Pygal 是一個 Python 開發的動態 SVG 圖表庫:介紹和資料視覺化》

    9 Pyqtgraph:

    Pyqtgraph庫:優於matplotlib庫,可互動的、多平臺的、適合2D和3D的一個python庫。

    也可以進行資料視覺化。

    我曾介紹過,文章《Pyqtgraph庫:作為資料視覺化部分的python作圖詳解》

    10 Bokeh:

    應該放在前面,很強大的資料視覺化庫,排在matplotlib之後的。

    我曾介紹過,文章《Bokeh是一個專門針對Web瀏覽器的互動式視覺化Python庫》

    中場休息二

    11 Dash:

    Dash是一個純Python寫成的框架,無需JavaScript即可構建互動式的分析類web應用程式。

    Dash是一個優秀的互動式視覺化工具,基於plotly。

    我曾介紹過,文章《再發Dash是一個純Python寫成的互動式的web應用程式》

    12 Streamlit:

    是一個開源Python庫,可輕鬆構建用於機器學習的漂亮應用程式。

    也可以進行資料視覺化。

    我曾介紹過,文章《Python-Streamlit庫再學習:st.slider和資料可視作圖》

    13 VisPy:

    Vispy是一個以OpenGL為基礎的互動3D視覺化庫。

    我曾介紹過,文章《VisPy是一個支援3D、大資料、互動式科學視覺化的Python庫》

    14 Altair:

    Altair是一個宣告性統計視覺化庫,基於Vega和Vega-Lite。

    除了繪製基本影象,Altair強大之處在於使用者可以與影象進行互動,包括平移、縮放、選中某一塊資料等操作。

    我曾介紹過,文章《Altair是一個宣告性、互動性資料視覺化2.0的python庫》

    15 VPython:

    VPython 是python預設的3D模組,與PyOpenGL相比,容易上手,無需太多程式設計技巧。

    被人忽略的強大的資料視覺化作圖功能。

    我曾介紹過,文章《VPython:一個Python的3D圖形動畫庫+被忽略的資料視覺化功能》

    中場休息三:向鍾爺爺學習,致敬!

    16 GooPyCharts:

    是一個用於谷歌圖表介面的Python包。

    一個易於安裝與使用的圖表庫,語法與MATLAB相似,而且可以替代matplotlib。

    我曾介紹過,文章《GooPyCharts:一個簡單、美觀、易用的web可互動的python庫》

    17 Plotly Express:

    Plotly Express是對 Plotly.py 的高階封裝;plotly推出了其簡化介面:Plotly Express,簡稱:px。

    我曾介紹過,文章《Plotly Express 是一個簡化的、互動的、高階的Python 視覺化庫》

    18 Pandas:

    一般人不知道的。

    pandas也集成了資料視覺化的功能,其資料視覺化已經可以滿足我們大部分的要求了,也就省下了我們很多自己使用 如 matplotlib 來資料視覺化的工作。

    我曾介紹過,文章《Python的利器Pandas庫:超級簡單的資料視覺化作圖,你知道嗎?》

    19 Plotnine:

    plotnine是Python中圖形語法的一種實現,它基於ggplot2,繪圖精美而簡單。

    ggplot2,是R語言下的一款強大的、大名鼎鼎的資料視覺化繪相簿。

    我曾介紹過,文章《Plotnine庫:是R語言下強大資料視覺化ggplot2庫的python版》

    20 Chartify:

    Chartify庫:是由Spotify開源了一個Python庫,可讓人輕鬆建立圖表。

    而Spotify是全球最大的正版流媒體音樂服務平臺之一,最新開源的作品Chartify 幫助資料科學家用Python建立圖表。

    我曾介紹過,文章《Chartify:一個基於Bokeh卻完爆它的、簡單的Python資料可視庫》

    中場休息四:強不?

    21 Orange:

    Orange:一個基於 Python 的資料探勘和機器學習平臺。

    非常優秀,而且每天都在更新和維護。

    orange=橙色,資料探勘,資料視覺化,透過視覺化程式設計或Python指令碼學習機分析。

    我曾介紹過,文章《Orange:是一款視覺化程式設計或Python指令碼進行資料探勘和分析庫》

    22 HvPlot:

    HvPlot - 基於HoloViews的pandas、dask、streamz和xarray高階繪圖API。

    我曾介紹過,文章《HvPlot - 基於HoloViews的pandas高階繪圖python的API》

    23 Bqplot:

    Bqplot是用於Jupyter的互動式2D繪相簿。

    Bqplot的視覺化是基於D3.js和SVG的,支援快速互動和漂亮的動畫。

    我曾介紹過,文章《重發:Bqplot是一款用於Jupyter的互動式2D的python繪相簿》

    24 NetworkX:

    NetworkX是一個Python包,用於建立、操縱和研究複雜網路的結構、以及學習複雜網路的結構、功能及其動力學。

    可用於資料探勘,尤其適合生成人物社會關係圖,超牛。

    我曾介紹過,文章《NetworkX:是一個簡單、多樣化、能快速生成網路圖形的Python庫》

    25 Toyplot:

    Toyplot是一個Python的互動式繪相簿,可用於資料視覺化、繪圖、文字,用各種形式展示。

    我曾介紹過,文章《Toyplot:一個簡潔、可愛的Python的互動式資料視覺化繪相簿》

    中場休息五:這麼多呀,看累了,伸個懶腰

    26 Dabl:

    dabl,Python資料分析基準庫。

    允許使用視覺化和預處理進行資料探索。

    我曾介紹過,文章《Dabl:一個視覺化、預處理的Python資料分析和探索的基準庫》

    27 HoloViews:

    HoloViews庫用來製作資料視覺化,比bokeh和matplotlib更方便、更簡潔,是一個python庫檔案。

    基於jupyter的可互動的,當然還可以生成html和svg等格式。

    我曾介紹過,文章《HoloViews庫:一個被忽視的、高階的python的資料視覺化庫》

    28 Mpld3:

    MPLD3=mpl+d3=matplotlib+D3js。

    是基於當前python下面最流行的圖形影象庫matplotlib和最知名的javascript庫D3js上開發得到的。

    我曾介紹過,文章《Mpld3庫:一個matplotlib被忽視功能,python資料視覺化web庫》

    29 Joypy:

    Joypy其實是掛在matplotlib下實現資料視覺化的。

    Joypy庫:一個python繪製的山峰疊巒相簿。

    我曾介紹過,文章《Joypy庫:一個python繪製的山峰疊巒相簿》

    ===這麼多,python太牛了,所以用的人也就多,開發這麼多資料視覺化庫===

    最後,回到正題,你說的作圖,我只是介紹python的資料視覺化部分,而且僅僅是我介紹過的,你說強大不強大,如果包括其他比如3d或者繪圖,或者地理資料視覺化,那是太強大啦!

    所以,python勝出!!!

    《Pixelhouse:一個精美的、極簡主義的python繪相簿》

  • 4 # 運維的榕樹

    python與matlab 比作圖,就相當於用自己的短處去比別人的長處。

    matlab作為數學界專業的繪圖,可以實現非常專業深入的函式計算,然後繪圖,這是python無法比擬的。

    但是python有自己擅長的領域,同時藉助三方模組繪製基本圖形也是非常不錯的,也比較簡單。

  • 5 # 笨鳥學資料分析

    這個問題有點意思,MATLAB與Python之爭很早開始了。

    MATLAB可是如雷貫耳,數學、工程相關專業的學生、工程師們基本都會使用到它,功能強大,提供了各種可用來繪製資料圖形的函式。

    Python不僅是一門語言,更是一個生態,有豐富的第三方庫來繪圖,如matplotlib,還有在此基礎上封裝得更高階的seaborn。

    常用的圖表

    稍微總結了一下,常用的資料圖表如下圖所示,對於這些圖表,MATLAB和Python都能夠實現,幾乎沒有差異。

    對比

    Python免費且開源;而MATLAB的價格,永久授權版:15500元,按年付費:6200元,還是有點貴的。

    很多時候,MATLAB的程式碼更簡潔。

    Python的面向物件開發讓Python更簡單、更優雅;

    Python是一個生態,支援更多影象處理的包和工具集。

    MATLAB的Simulink模組很強大,尤其是學術界大量使用MATLAB做模擬,在動態系統建模、模擬等方面MATLAB還是很強大。

    二者融合

    其實MATLAB支援很多其他程式語言,包括Python,所以可以將 MATLAB 與 Python 結合使用,即MATLAB 與 Python 之間是可以雙向呼叫的。

    1、藉助針對 Python 的 MATLAB Engine API,可用 Python 呼叫 MATLAB 。

    2、如果使用 Python 編寫函式和物件,也可以透過 MATLAB 呼叫Python。

    所以,不是必須非要選擇一個,可以兩者結合使用。

    MATLAB繪圖展示

    下面展示一些MATLAB繪圖示例。

    說明:因為格式、篇幅問題,程式碼就不貼上來了。

    1、普通的折線圖

    2、帶有子圖的條形圖

    3、帶有填充標記散點圖

    4、三維散點圖

    5、三維表面圖

    Python繪圖展示

    下面展示一些Python繪圖示例。

    1、普通的折線圖

    2、堆積柱形圖

    3、散點圖

    4、三維散點圖

    5、三維表面圖

  • 6 # 你看我獨角獸嗎

    說實在話,Python作圖要比matlab要豐富且好看不少,我Python和matlab都有在使用,如Python的Matplotlib、Seaborn做靜態圖就非常不錯,特別是Seaborn,色彩比Matplotlib1.x

    版本要好得多,就官方而言,Seaborn是一個帶著定製主題和高階介面控制的Matplotlib擴充套件包,能讓繪圖變得更輕鬆,方便我們資料視覺化。

    Seaborn和MatplotlibPyEcharts

    還有PyEcharts,這個工具包封裝了百度的echarts開源庫,可以利用

    echarts.js去做很多動態圖,常見的地圖熱力圖、時序圖、餅圖等都可以很簡單地顯現出來。而且安裝方法還特別地簡單,一個命令就完成的事情。

    Github地址為https://github.com/pyecharts/pyecharts。

    pip install pyecharts

    就單從作圖這個角度來說,matlab還是不足於跟有豐富的Python生態庫媲美,而且Python本身是一門程式語言,自帶Web功能,所以動態圖可以很簡單就做出來。

    Matlab

    如果不是從這個角度看,matlab的Simulink模組還是很強大,畢竟實驗模擬功能十分好用,所以學術界還是廣泛地在使用matlab這個軟體,雖然它還付費。

  • 中秋節和大豐收的關聯?
  • 家裡從沒養過植物,想入手一種,有推薦的嗎?