精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
07- 搭建一個穩健的matplotlib繪圖平臺

搭建一個和我的一樣的、穩健的matplotlib繪圖平臺。

網上這一類的交流、總結文章已經很多,我為什么還要專文來說這個事呢?你可能會說:不就是安裝Python、配置Python環境變量、安裝matplotlib及其依賴包嗎?

從一個小故事看matplotlib平臺穩健性

前些天,有一位網友求救,說他在matplotlib中繪圖,需要將圖像分辨率設置為 600dpi,但不管怎么操作就是沒有效果,他在圖像屬性中看到的圖片DPI始終只有96dpi

%matplotlib inlineimport numpy as npimport matplotlibimport matplotlib.pyplot as plt# sphinx_gallery_thumbnail_number = 2# 蔬菜種類vegetables = ['cucumber', 'tomato', 'lettuce', 'asparagus', 'potato', 'wheat', 'barley']# 農夫名字farmers = ['Farmer Joe', 'Upland Bros.', 'Smith Gardening', 'Agrifun', 'Organiculture', 'BioGoods Ltd.', 'Cornylee Corp.']# 收成harvest = np.array([[0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0], [2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0], [1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0], [0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0], [0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0], [1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1], [0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]])# fig, ax = plt.subplots()fig = plt.figure(dpi=600)ax = fig.add_subplot(1,1,1)im = ax.imshow(harvest)# 設置x,y坐標長度ax.set_xticks(np.arange(len(farmers)))ax.set_yticks(np.arange(len(vegetables)))# x,y具體標簽ax.set_xticklabels(farmers)ax.set_yticklabels(vegetables)# x軸標簽旋轉45°顯示plt.setp(ax.get_xticklabels(), rotation=45, ha='right', rotation_mode='anchor')# 顯示每個方格的值for i in range(len(vegetables)): for j in range(len(farmers)): text = ax.text(j, i, harvest[i, j], ha='center', va='center', color='w')ax.set_title('Harvest of local farmers (in tons/year)')fig.tight_layout()plt.savefig('cm.jpeg',dpi = 600)plt.show()

他把代碼發了過來,似乎沒有什么問題。我在jupyter lab中運行這段代碼,生成'cm.jpeg'文件,在PS中查看圖像尺寸:

完全正確,分辨率就是預期的600dpi。

我讓把他看到的圖像屬性截圖給我看看,如下:

按照這個屬性參數,很容易計算出,他電腦上的這張cm.jpeg圖像的物理尺寸是:

  • 寬度 = 40英寸;

  • 高度 = 30英寸。

mpl默認的figsize是(6, 4)。他的代碼并沒有設置'figsize',但生成的圖像尺寸是(40,30) 英寸,這個尺寸太大了,顯然是在哪里修改了rcParams參數,導致了他的苦惱。

如果你對上面的關于分辨率和圖像尺寸的關系不是很清楚,請重新閱讀第4,第5篇文章。

由于Python的開源性,各種開發包又很多,包之間的依賴性極其復雜,所以你的每一個操作都有可能影響整個開發平臺的穩定性,甚至引發災難性后果。

比如:

  • 你在代碼中無意中修改了某個包的默認參數,再也得不到預期的結果;

  • 你升級了某個包,但其它依賴于它的包還沒有對應的升級包(你沒有升級,或者沒有可用的升級包),導致其它包運行出錯;

  • 等等....

所以,搭建一個穩健的Python平臺非常重要。像你我這樣通過網絡交流,雙方保持測試環境的盡可能一致也是非常有好處的。

推薦的Python平臺搭建方式

搭建Python平臺,目前從大方面來說,常見的主要有兩種方式:

  1. 直接安裝Python,使用pip安裝和管理平臺,需要用哪個包再安裝它;

  2. 通過安裝Anaconda,一次性安裝常用的庫,使用conda安裝和管理平臺。

第1種方式適合非常專業的人員,要求對Pyhton的包管理非常熟練,對包的依賴性有較深的了解,并且有很強的解決遇到的各種問題的能力。

像我這樣的草根推薦第2種方式。

Anaconda是什么,有什么優勢?

Anaconda是以Python為核心,針對科學計算和機器學習而構建的一個集成環境。

它以一個整潔的包裝給了我們使用Python所需的一切,讓我們可以專注于使用工具而不是維護它們。

  • 首先,它在一個包裝中集成了Python科學計算和機器學習常用的庫;

  • 其次,它使用conda安裝和管理環境,在下載、安裝、更新包時會自動分析你的系統和當前環境,并自動處理包之間的依賴關系;

  • 第三,它還提供一個導航器,讓我這樣的草根可以在圖形窗口管理環境;

  • 第四,它還提供了spyder, prompt等附加工具,作為官方的IDE和Shell命令工具。

一句話,它的優勢在于集成了我們使用Python的主要工具。

建議你按照下面的步驟從頭搭建一個穩健的Python開發平臺,這樣你的測試環境和我的就基本一致了,各種代碼的測試結果也就會基本一致,也會避免出現莫名的問題。

下載,安裝Anaconda

登錄anaconda官網 https://www.anaconda.com/distribution/#download-section

下載相應的版本,我的操作系統是windows 10 64bit 的。

強烈建議下載 Python 3.7 版的,Python2 即將被放棄。

如果你過去一直使用Python 2 ,也不要擔心,轉到Python 3 真的很容易,并且從長遠看是必須的,也是值得的。

像安裝其它windows程序一樣,雙擊運行安裝,一路next,在指定安裝路徑時,建議設置如下:

其它都是默認設置即可。

安裝結束后,程序菜單中會有一個Anaconda3文件夾。

配置環境變量

需要進行兩次配置,第一次:

如下圖,打開系統環境變量設置窗口:

雙擊 PATH

打開下面的窗口:

  1. 新建;

  2. 瀏覽;

  3. 找到左邊三個路徑

依次重復操作,即可將Anaconda的環境變量添加到系統中。

添加圖中左側的三個路徑到環境變量中

測試Python和conda是否安裝配置成功

打開Anaconda Prompt命令行窗口:

輸入命令 : python,返回如下內容:

表示Python安裝配置成功,我的Python版本是3.7.3.

輸入命令:conda,返回如下內容:

表示 conda 管理工具安裝配置成功。

創建工作虛擬環境

強烈建議:在上面的安裝測試完成后,先創建一個工作虛擬環境。再開始你的探索之旅!

為什么要工作創建虛擬環境?

前面說過,因為Python的開源性,包的依賴性復雜,在使用過程中,隨時都會破壞整個 Python 環境,導致出現一些莫名的問題和錯誤。

前面的安裝過程會創建一個base環境,如果直接在這個環境下工作、學習、測試,當系統中的python環境出現問題無法修復時,就不得不卸載Anaconda,再重新安裝它。

如果我們創建一個新環境,工作、測試、學習都在這個環境下進行,當出現問題時,我們只需要刪除這個環境,再重新創建一個環境即可,這比從頭安裝Anaconda要節省時間。

當然虛擬環境還有其它一些用途,不在我們的討論范圍內。

創建工作虛擬環境

啟動 Anaconda Prompt, 運行如下命令:

 conda create -n py373env python=3.7

創建一個名為 'py373env', Python版本為3.7的虛擬環境。

當然,環境的名稱你可以根據喜好定,我習慣于這樣命名,一看就知道,這是一個Python的虛擬環境,并且Python版本是3.7.3。

需要一定的時間,它會下載、安裝一些包,創建你指定的環境,創建完成后。

在Anaconda Prompt中輸入:

conda activate py373env

激活‘py373env’環境。

可以發現命令行的引導符最右邊的括號中原來的base,變成了py373env,這就表示,你原來處在base環境中,現在轉到了py373env環境中。

你在哪個環境中的操作,主要影響這個環境。比如更新、安裝包,修改一些包的默認參數,只會影響該環境下的包,不會影響base環境。

將虛擬環境也添加到系統環境變量中

養成立即激活工作虛擬環境的好習慣

我習慣于在jupyter lab中工作、學習、測試Python代碼,數據分析、數據可視化。

每天打開 Anaconda Prompt,輸入的第一行命令就是:

 conda activate py373env

即,立即轉到我的 py373env 虛擬環境,確保我的操作都是在這個環境下。除非我非常清楚地知道我要在其它環境下工作,我才退出py373env環境,激活其它環境。

退出py373env環境,使用命令:

conda deactivate

推薦 jupyter lab

jupyter lab是jupyte notebook的替代計劃。

jupyter提供了在web中輸入、保存、運行代碼,顯示結果.....的強大功能。

它集交互模式、IDE模式的優點于一身。

是我測試Python代碼、進行數據分析、matplotlib數據可視化的主要戰場。

下面將以在py373env虛擬環境中安裝、配置jupyter lab為例介紹 Anaconda的包安裝和管理。

設置conda的下載鏡像源(即下載通道)

Anaconda的官方下載通道是 conda-forge

有時會出現下載失敗,下載速度慢的問題,可以添加清華大學的鏡像服務器。

在'系統盤(c)-用戶---用戶名'目錄下有一個Anaconda的配置文件文件:.condarc

用記事本打開這個'.condarc'文件,刪除里面的內容,將下面的內容復制進去,保存即可。

channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - conda-forgeshow_channel_urls: truessl_verify: true

安裝jupyter lab

激活虛擬環境:

conda activate py373env

在py373env環境下,執行命令:

conda install -c conda-forge jupyterlab

conda會自動分析你的環境,找到合適jupyterlab版本和包,下載安裝它們。

命令中的 '-c conda-forge'是指定從anaconda的官方鏡像下載安裝,這是推薦的方式。如果因網絡的問題,直接使用:

conda install jupyterlab

它會根據分析結果和網速選擇配置文件中列出的鏡像源中合適的通道下載鏡像。

安裝完成后,在py373env環境下,輸入:

 jupyter lab

即可啟動jupyter lab。

安裝jupyterlab的擴展

jupyterlab有很多擴展插件可用。安裝合適的插件,能夠使你的效率提高很多。

JupyterLab 的插件是 npm 安裝包。所以按照 JupyterLab 的插件,需要提前安裝好 Node.js。

安裝命令:

conda install -c conda-forge nodejs

完成之后,有兩種方式進行插件的安裝:

  1. 通過開啟 Extension Manager 來安裝和管理插件

  2. 通過執行命令的方式安裝。 限于篇幅就不講了。

開啟Extension Manager安裝和管理插件

如果使用第一種方式,需要手動開啟 Extension Manager。

在jupytelab頁面,設置,高級設置 (command+逗號 ),選擇Extension Manager一欄,修改設置為 true:

這樣就可以使用Extension Manager來安裝jupyterlab的擴展插件了。

可以搜索插件,安裝插件,對已安裝的插件啟用、禁用、卸載。

安裝好jupyter toc 目錄插件,就可以使用目錄在文檔中導航了。

是不是看起來還不錯?

一個穩健的Python,matplotlib平臺搭建好了,后面就讓我們在這個平臺上煉身手吧!

因為是草根們的草堂,所以可能有點太細了!但這會是我堅持的風格,盡可能讓各等級的草根都能看懂。


本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Anaconda安裝+conda環境+tensorflow(GPU)+SSD
anaconda的安裝使用
python – ImportError:沒有名為’matplotlib’的模塊 – 使用Anaconda tensorflow環境
django網頁應用開發流程
Anaconda VS Code數據分析環境搭建及使用(GPU、可視化)
python學習——anaconda安裝
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 万年县| 蒲江县| 谢通门县| 从江县| 金昌市| 邳州市| 开化县| 山丹县| 武汉市| 通山县| 垣曲县| 彩票| 阿拉尔市| 且末县| 友谊县| 华池县| 乃东县| 肇东市| 威远县| 基隆市| 宝山区| 琼结县| 繁峙县| 湘阴县| 清原| 漠河县| 闽侯县| 蓬溪县| 海南省| 固原市| 辽宁省| 临清市| 白银市| 连城县| 新安县| 洛宁县| 冷水江市| 武定县| 弥渡县| 梓潼县| 宜兰县|