Python中Matplotlib的簡單使用
1、Matplotlib介紹
Matplotlib是一個用于繪制數(shù)據(jù)可視化圖形的Python庫,支持繪制各種靜態(tài),動態(tài),交互式的圖表。它是數(shù)據(jù)科學和機器學習領域最流行的可視化庫之一,因其簡單易用和高度可定制性而備受歡迎。
Matplotlib可以繪制的圖表類型包括折線圖,散點圖,直方圖,餅圖,等高線圖,3D圖等等。它還提供了豐富的繪圖功能,可以添加注釋、圖例、文本、網(wǎng)格線等元素,支持自定義顏色、字體、樣式等屬性,同時也可以與其他Python庫和工具,如NumPy、Pandas、Seaborn等進行結(jié)合使用。
Matplotlib最初由John D. Hunter在2003年創(chuàng)建,是一個開源項目,目前由社區(qū)共同維護和開發(fā)。它已被廣泛應用于科學研究、數(shù)據(jù)分析、工程設計、教育教學等領域。
2、實驗環(huán)境
Python 3.9
Anaconda
Jupyter Notebook
3、Matplotlib Pyplot操作
Matplotlib是Python中最流行的繪圖庫之一,可以用于創(chuàng)建各種類型的靜態(tài)和動態(tài)圖表。Matplotlib庫由多個子庫組成,其中pyplot子庫是最常用的子庫之一,它提供了類似于MATLAB的繪圖界面,使得使用Matplotlib進行數(shù)據(jù)可視化變得更加簡單。
3.1導入模塊
在使用Pyplot之前,我們需要導入matplotlib庫和pyplot模塊:
import matplotlib.pyplot as plt
通常習慣將pyplot模塊重命名為plt,以便更簡潔地調(diào)用。
3.2繪制圖
繪制圖是Pyplot的一個常見功能。以下是繪制圖常見函數(shù):
- plot():用于繪制線圖和散點圖
- scatter():用于繪制散點圖
- bar():用于繪制垂直條形圖和水平條形圖
- hist():用于繪制直方圖
- pie():用于繪制餅圖
- imshow():用于繪制圖像
- subplots():用于創(chuàng)建子圖
繪制折線圖,可以通過傳遞兩個參數(shù)——x軸和y軸數(shù)據(jù)來繪制一個簡單的折線圖:
x = [1, 2, 3, 4, 5] y = [10, 8, 6, 4, 2] plt.plot(x, y) plt.show()
3.3添加標題和標簽并解決亂碼問題
Pyplot還支持在圖表中添加標題和標簽,以提高可讀性和易用性。
例如:
plt.plot(x, y) plt.title('折線圖示例') plt.xlabel('X軸') plt.ylabel('Y軸') plt.show()
發(fā)現(xiàn)添加標題和標簽的時候,圖表出現(xiàn)了亂碼。
對于這種情況,可以使用以下兩種方式解決:
- 1、更改Matplotlib默認字體 可以使用matplotlib.rcParams來更改Matplotlib的默認字體。
plt.plot(x, y) matplotlib.rcParams['font.family'] = 'SimHei' # 將字體設置為中文黑體 plt.title('折線圖示例') plt.xlabel('X軸') plt.ylabel('Y軸') plt.show()
- 2、指定字體 另一種方法是在繪圖時直接指定字體。
import matplotlib.pyplot as plt import matplotlib.font_manager as fm my_font = fm.FontProperties(fname='C:/Windows/Fonts/SimHei.ttf') # 加載中文字體 plt.plot([1, 2, 3, 4]) plt.title('示例', fontproperties=my_font) plt.show()
3.4繪制多個子圖
使用Pyplot,我們可以將多個子圖組合在一起,形成一個復雜的圖表。 我們可以通過plt.subplots()函數(shù)來創(chuàng)建一個包含多個子圖的圖表:
fig, axs = plt.subplots(2, 2) axs[0, 0].plot(x, y) axs[0, 0].set_title('子圖1') axs[0, 1].scatter(x, y) axs[0, 1].set_title('子圖2') axs[1, 0].bar(x, y) axs[1, 0].set_title('子圖3') axs[1, 1].pie(y) axs[1, 1].set_title('子圖4') plt.show()
我們使用plt.subplots()函數(shù)創(chuàng)建了一個2x2的子圖網(wǎng)格,然后在每個子圖上繪制了不同類型的圖表,如折線圖、散點圖、柱狀圖和餅圖。我們可以使用axs變量來引用每個子圖,并使用set_title()函數(shù)來添加標題。
3.5保存圖表
使用Matplotlib Pyplot繪制完圖表后,我們可以使用plt.savefig()函數(shù)來保存圖表為文件。該函數(shù)的參數(shù)可以指定保存的文件名和格式。
plt.plot(x, y) plt.title('折線圖示例') plt.xlabel('X軸') plt.ylabel('Y軸') plt.savefig('C:\\Users\\XWJ\\Desktop\\daima\\line_chart.png')
我們將折線圖保存為名為line_chart.png的PNG文件。在調(diào)用plt.savefig()函數(shù)時,必須在調(diào)用plt.show()函數(shù)之前調(diào)用,否則圖表將不會被保存。
默認情況下,plt.savefig()函數(shù)將保存整個圖表,包括邊框和標簽。如果想要僅保存繪制的圖表內(nèi)容,可以在調(diào)用plt.savefig()函數(shù)之前調(diào)用plt.tight_layout()函數(shù),它將自動調(diào)整子圖間的間距和位置,使其最大化圖表的可視面積。
plt.plot(x, y) plt.title('折線圖示例') plt.xlabel('X軸') plt.ylabel('Y軸') plt.tight_layout() plt.savefig('C:\\Users\\XWJ\\Desktop\\daima\\line_chart.png')
到此這篇關于Python中Matplotlib的簡單使用的文章就介紹到這了,更多相關Matplotlib的簡單使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django中常用的查詢數(shù)據(jù)方法及查詢對象的條件詳解
在web 開發(fā)過程中,Django 與后臺數(shù)據(jù)庫的交互是必不可少的一項,也是實現(xiàn)業(yè)務邏輯所需數(shù)據(jù)的重要方式,這篇文章主要給大家介紹了關于Django中常用的查詢數(shù)據(jù)方法及查詢對象條件的相關資料,需要的朋友可以參考下2021-09-09Python使用email模塊對郵件進行編碼和解碼的實例教程
Python中我們一般使用SMTP模塊來首發(fā)郵件,而用email模塊來處理郵件編碼,本文我們就來詳細看一下Python使用email模塊對郵件進行編碼和解碼的實例教程,需要的朋友可以參考下2016-07-07Python實現(xiàn)批量合并Excel文件的第二張合并Excel
在數(shù)據(jù)處理和分析中,經(jīng)常需要對多個Excel文件進行批量操作,特別是當這些文件具有相似的結(jié)構(gòu)時,下面我們就來看看Python如何實現(xiàn)批量合并文件夾下所有Excel文件的第二張表吧2024-03-03Python 使用dict實現(xiàn)switch的操作
這篇文章主要介紹了Python 使用dict實現(xiàn)switch的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04