Python直接使用plot()函數畫圖的方法實例
一、plot()函數的認識
在使用Python進行數據可視化編程中matplotlib庫是我們用來對數據進行畫圖常用的第三方庫。其中含有各類函數也就是不同類型的圖形,要使用matplotlib庫中的函數就需要了解函數所需要數據的格式,這也是我們學習matplotlib庫的重點。
直接使用plot()函數畫圖,是對于一般的簡單數據。我們可以采用直接調用plot()函數對列表數據進行直接畫圖。初期學習直接使用plot()函數能便于我們對后面圖形學習奠定函數的參數及基礎。
matplotlib圖的組成:
- Figure (畫布)
- Axes (坐標系)
- Axis (坐標軸)
- 圖形(plot(),scatter(),bar(),...)
- Title, Labels, ......
直接是用plot()函數畫圖如法如下:
plt.plot(x, y, fmt='xxx', linestyle=, marker=, color=, linewidth=, markersize=, label=, )
其中x,y代表橫縱坐標,fmt = '#color#linestyle#marker'即代表各類參數。
(1)linestyle:此字段是線的樣式,參數形式:字符串
linestyle(線的樣式)
| linestyle參數 | 線形 |
| '-' | 實線 |
| '--' | 虛線 |
| '-.' | 點劃線 |
| ':' | 點虛線 |
| ' ' | 無線 |
(2)linewidth:此參數是線的粗細,粗細程度和所定數值大小有關,參數形式:數值
(3)marker:點的樣式,字符串
marker(點的樣式)
| marker | 標記點 |
| '.' | 店 |
| ',' | 像素 |
| '^' 'v' '>' '<' | 上下左右三角形 |
| '1' '2' '3' '4' | 上下左右三叉線 |
| 'o' | 圓形 |
| 's' 'D' | 方形 |
| 'p' | 五邊形 |
| 'h' 'H' | 六邊形 |
| '*' | 五角星 |
| '+' 'x' | 十字交叉 |
| '_' | 橫線 |
| ' | ' |
(4)markersize:點的大小,參數形式:數值
(5)color:調節(jié)線條還有點的顏色 ,字符串,參數形式字符串
color(點、線顏色)
| 字符串 | color |
| 'r' | 紅 |
| 'g' | 綠 |
| 'b' | 藍 |
| 'y' | 黃 |
| 'c' | 青 |
| 'm' | 品 |
| 'k' | 黑 |
| 'w' | 白 |
此處顏色參數還可以有二進制,十進制等表示方法,同時對于顏色,RGB是三原色
(6)label:圖例,legend文字
二、plot()函數基本運用
使用plot()函數時需要導入對應的庫,導入庫后我們在未有數據的情況下直接畫圖,直接畫圖會隱式創(chuàng)建Figure,Axes對象。
import matplotlib.pyplot as pltplt.plot()

下面通過構造數據繪制簡單圖形
首先數據構造,設置參數,參數也可以在將數據填入plot()函數的時候設置。
# 導入包 import matplotlib.pyplot as plt import numpy as np # 構造數據 # 位置 (2維:x,y一一對應) x = np.linspace(0, 2 * np.pi, 200) # 從0到2pi的200個值 y = np.sin(x) # 從sin(0)到sin(2pi)的200個值 # 顏色(0維) c = 'red' c = 'r' c = '#FF0000' # 大?。?維): 線寬 lw = 1
畫出圖形
# 生成一個Figure畫布和一個Axes坐標系 fig, ax = plt.subplots() # 在生成的坐標系下畫折線圖 ax.plot(x, y, c, linewidth=lw) # 顯示圖形 plt.show()
圖形展示:

給定兩組數據,建立y與x的關系試,使用plot函數進行畫圖,本次畫圖線條選用點虛線形式,粗細選用1,點選用方形,點大小選用值為10,圖例為‘1234’
import matplotlib.pyplot as plt x = [1,2,3] y = [1,2,3] y = x plt.plot(x,y,linestyle=':', linewidth=1, marker='d', markersize=10, label='1234') plt.legend()
作出圖片如下;

下面我們引用numpy的linspace函數生創(chuàng)建均勻分布序列,然后對x,y建立數值關系,由此來創(chuàng)建圖畫。
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-100,100,10) y = x**2 + 2*x +1 plt.plot(x,y,'g-.o')
作出如下圖案,由此可見,我們對于圖形的設置方面,在我們熟練以后如果沒有粗細的設置可以直接縮減再一個字符串里面

以上都是簡單圖形的講解,我們現在通過一個簡單的對數據DataFrame進行作圖,在往后的數據可視化中我們需要對數據進行處理后再進行可視化。下面我們通過正、余弦函數進行作圖。
#導入包 import matplotlib.pyplot as plt import numpy as np import pandas as pd #使用linspace()方法構成數據 x = np.linspace(0, 2 * np.pi, 50) # y1 = np.sin(x) y2 = np.cos(x) #轉化數據形式 df = pd.DataFrame([x,y1,y2]).T #對列重新命名 df.columns = ['x','sin(x)','cos(x)'] #數據寫入圖像,命名圖例 plt.plot(df['x'],df['sin(x)'],label='sin(x)') plt.plot(df['x'],df['cos(x)'],label='cos(x)') plt.legend()
我們通過numpy的linspace方法生成數據再通過pandas對數據進行DataFrame化再帶入plot()函數,此處需要講的就是圖例的命名方法,通過在函數中寫入label參數,確定圖例的標簽,再通過legend()函數生成圖例,在后續(xù)的學習中也會講到圖例的位置、形式等的運用。

三、plot()函數數據可視化畫圖以及圖元基本參數設置
通過繪制世界人口變化曲線圖了解基本圖元參數設置,本次繪圖過程主要是先通過對人口數據導入,了解數據構造,再進配置畫圖參數最后完成圖形的制作,其中基本的圖元參數用于別的圖形也適用,在這兒學會了我們只需要了解數據結構,構造成圖形所要的數據結構就可以就行畫出自己想要的圖形。
首先進行數據導入,了解數據結構形式。為了學習方便,選用jupyter notebook進行可視化圖形講解。
import pandas as pd datafile = r'world_population.txt' # 打開文件 df = pd.read_csv(datafile) #讀取數據 df.head()#展示前面部分數據
以下就是基本的數據樣式,由年份和人口數量組成

這里做了基本的圖元設計,也就是對于畫布的設置,前面我們所學函數參數都是對于圖形中間的設置,我們構成一個可視化界面是通過畫布+畫中圖形樣式組成一個完整的可視化界面。
畫布界面有畫布大小,畫布像素,畫布界面,畫布邊框等設置。
import matplotlib.pyplot as plt
# 畫布
fig = plt.figure(figsize=(6,4), # inches
dpi=120, # dot-per-inch
facecolor='#BBBBBB',
frameon=True, # 畫布邊框
)
plt.plot(df['year'],df['population'])
# 標題
plt.title("1960-2009 World Population")構成一個完整的可視化圖像除了圖例還有圖像的標題,我們可以通過title()方法設置英文標題,中文標題要通過以下代碼才能實現,因此我們如果是做中文項目在導入包以后就可以寫上設置中文代碼的代碼串。
# 設置中文字體 plt.rcParams['font.sans-serif'] = 'SimHei' # 設置字體為簡黑(SimHei) plt.rcParams['font.sans-serif'] = 'FangSong' # 設置字體為仿宋(FangSong)


當然,除了這種比較簡單的圖形之外我們還能對圖形進行優(yōu)化設置,將數據顯示的更加的精美和美觀,對圖形優(yōu)化便于實際報告中的演示也是我們現在必不可少的的一環(huán)。
import matplotlib.pyplot as plt
# 設置中文字體
plt.rcParams['axes.unicode_minus'] = False # 不使用中文減號
plt.rcParams['font.sans-serif'] = 'FangSong' # 設置字體為仿宋(FangSong)
# 畫布
fig = plt.figure(figsize=(6,4), # inches
dpi=120, # dot-per-inch
facecolor='#BBBBBB',
frameon=True, # 畫布邊框
)
plt.plot(df['year'],df['population'],'b:o',label='人口數')
# 中文標題
plt.title("1960-2009 世界人口")
# 字體字典
font_dict=dict(fontsize=8,
color='k',
family='SimHei',
weight='light',
style='italic',
)
# X軸標簽
plt.xlabel("年份", loc='center', fontdict=font_dict) # loc: 左中右 left center right
# Y軸標簽
plt.ylabel("人口數",loc='top', fontdict=font_dict) # loc: 上中下 top center bottom
# X軸范圍
plt.xlim((2000,2010)) # X軸的起點和終點
# Y軸范圍
plt.ylim(6e9,7e9) # Y軸的起點和終點
# X軸刻度
plt.xticks(np.arange(2000,2011))
# X軸刻度
plt.yticks(np.arange(6e9,7e9+1e8,1e8))
# 圖例
plt.legend()
# plt.legend(labels=['人口'])
# 網格線
plt.grid(axis='y') # axis: 'both','x','y'上述代碼,對x軸,y軸的刻度、標簽、字體進行定義,對圖例、網格線等也做出了參數的設置,最后做出的圖形如下圖:

總結
到此這篇關于Python直接使用plot()函數畫圖的文章就介紹到這了,更多相關Python plot()函數畫圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用tensorflow根據輸入更改tensor shape
這篇文章主要介紹了使用tensorflow根據輸入更改tensor shape,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python使用PyQt5實現與DeepSeek聊天的圖形化小軟件
在?PyQt5?中,菜單欄(QMenuBar)、工具欄(QToolBar)和狀態(tài)欄(QStatusBar)是?QMainWindow?提供的標準控件,用于幫助用戶更好地與應用程序交互,所以本文給大家介紹了Python使用PyQt5實現與DeepSeek聊天的圖形化小軟件,需要的朋友可以參考下2025-03-03
Python中Django框架下的staticfiles使用簡介
這篇文章主要介紹了Python中Django框架下的staticfiles使用簡介,staticfiles是一個幫助Django管理靜態(tài)資源的工具,需要的朋友可以參考下2015-05-05

