日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python+matplotlib實(shí)現(xiàn)簡單曲線的繪制_python

作者:PursuitingPeak ? 更新時間: 2022-06-24 編程語言

一、安裝matplotlib

1)由于已安裝anaconda,可直接打開anaconda prompt,再用命令pip install matplotlib進(jìn)行安裝,因鏡像問題,可能較慢,建議第2種方式。

2)訪問https://pypi.org/project/matplotlib/#files,并查找與你使用的Python版本匹配的wheel文件(擴(kuò)展名為.whl的文件),比如與python3.9版本相應(yīng)的matplotlib-3.5.1-cp39-cp39-win_amd64.whl放在目錄G:\develop\python下,(或者你自己所建目錄)

打開anaconda prompt,再用命令pip install G:\develop\python\matplotlib-3.5.1-cp39-cp39-win_amd64.whl(注意目錄要保持一致)?執(zhí)行完成即可。

二、測試 matplotlib

打開anaconda prompt 先輸入python,再輸入 import matplotlib,如圖所示,沒有出現(xiàn)任何錯誤消息,就說明系統(tǒng)安裝成功。

三、?繪制簡單的折線

import matplotlib.pyplot as plt   #導(dǎo)入模塊matplotlib.pyplot,并重新命名為plt

squares = [1,4,9,16,25,36,49,64,81,100]  #定義一個數(shù)組

plt.plot(squares, linewidth=5)# 設(shè)置圖表標(biāo)題,并給坐標(biāo)軸加上標(biāo)簽和 參數(shù) linewidth 決定了繪制的線條的粗細(xì)
plt.title("Square Numbers", fontsize=24)#設(shè)置標(biāo)題和字體大小
plt.xlabel("Value", fontsize=14)  #  x軸標(biāo)簽,和字體大小
plt.ylabel("Square of Value", fontsize=14)  #  y軸標(biāo)簽,和字體大小
plt.tick_params(axis='both', labelsize=14) # 設(shè)置刻度標(biāo)記的大小,函數(shù) tick_params() 設(shè)置刻度的樣式
plt.show()

這樣就完成一個簡單的折線圖,運(yùn)行效果如下:

注:如果運(yùn)行過程中,出現(xiàn)圖中紅色方框所示警告,需要重新設(shè)置spyder中Tools,如下圖所示:

四、使用 scatter() 繪制散點(diǎn)圖并設(shè)置其樣式

1、要繪制單個點(diǎn)

可使用函數(shù) scatter() ,并向它傳遞一對x和y坐標(biāo),它將在指定位置繪制一個點(diǎn):

import matplotlib.pyplot as plt   #導(dǎo)入模塊matplotlib.pyplot,并重新命名為plt

plt.scatter(2, 4, s=200) #調(diào)用了scatter(),并使用實(shí)參s設(shè)置了繪制圖形時使用的點(diǎn)的尺寸,位置為2,4

plt.title("Square Numbers", fontsize=24) # 設(shè)置圖表標(biāo)題并給坐標(biāo)軸加上標(biāo)簽
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()

2、要繪制系列點(diǎn)

繪制系列點(diǎn),只需要給出系列點(diǎn)的坐標(biāo)即可。我們將上述代碼中plt.scatter(2, 4, s=200)的2,4分別用兩個數(shù)列代替。

import matplotlib.pyplot as plt   #導(dǎo)入模塊matplotlib.pyplot,并重新命名為plt

x_values = [1, 2, 3, 4, 5]  #X軸的數(shù)列
y_values = [1, 3,6, 9, 12]  #y軸的數(shù)列
plt.scatter(x_values, y_values, s=100) #調(diào)用了scatter(),并使用實(shí)參s設(shè)置了繪制圖形時使用的點(diǎn)的尺寸  plt.title(" series Numbers", fontsize=24) # 設(shè)置圖表標(biāo)題并給坐標(biāo)軸加上標(biāo)簽 plt.xlabel("Value", fontsize=14) plt.ylabel("Value", fontsize=14) # 設(shè)置刻度標(biāo)記的大小 plt.tick_params(axis='both', which='major', labelsize=14) plt.show()

運(yùn)行結(jié)果如下:

3、自動計算數(shù)據(jù)

像上述手動輸入點(diǎn)數(shù),或數(shù)列,都是比較慢的處理方式 ,下面用for循環(huán)來替代手工輸入。

可以先將x_values定義為一個數(shù)列,數(shù)值在一定的范圍,比如1-1000,而對應(yīng)的y_values也是一個數(shù)列,按一定的方式(函數(shù))產(chǎn)生。于是,可以將上述代碼修改為如下:

import matplotlib.pyplot as plt   #導(dǎo)入模塊matplotlib.pyplot,并重新命名為plt

x_values = list(range(1, 1001))  #定義一個1-1000的數(shù)列,
y_values = [x**2 for x in x_values]  #定義Y值的生成方式。

plt.scatter(x_values, y_values, s=4) #調(diào)用了scatter(),并使用實(shí)參s設(shè)置了繪制圖形時使用的點(diǎn)的尺寸

plt.title(" series Numbers", fontsize=24) # 設(shè)置圖表標(biāo)題并給坐標(biāo)軸加上標(biāo)簽
plt.xlabel("Value", fontsize=14)
plt.ylabel("Value", fontsize=14)
# 設(shè)置刻度標(biāo)記的大小
plt.tick_params(axis='both', which='major', labelsize=10)
plt.axis([1,1100,1,1100000]) #注意一下axis的參數(shù)
plt.show()

運(yùn)行結(jié)果如下:

matplotlib中的點(diǎn)默認(rèn)為藍(lán)色點(diǎn)和黑色輪廓,如上述三圖所示,其中最后一圖因?yàn)辄c(diǎn)較多,且連在一起,像是一條曲線,為區(qū)別不同的點(diǎn),可以對點(diǎn)分別不同的顏色。

只需再配置幾個參數(shù) ,就可以刪除黑色輪廓,和修改點(diǎn)的顏色。

plt.scatter(x_values, y_values, edgecolor='none', s=40),其中edgecolor='none'表示將黑色輪廓刪除

修改數(shù)據(jù)點(diǎn)的顏色,可向 scatter() 傳遞參數(shù) c ,并將其設(shè)置為要使用的顏色的名稱,如下:

plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40) # 將顏色修改為紅色。

顏色映射(colormap)

顏色映射是一系列顏色,從起始顏色漸變到結(jié)束顏色。在可視化中,顏色映射用于突出數(shù)據(jù)的規(guī)律

plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,edgecolor='none', s=40) 
#調(diào)用了scatter()參數(shù) c 設(shè)置成了一個y值列表,并使用參數(shù) cmap 告訴 pyplot 使用哪個顏色映射,
# 將y值較小的點(diǎn)顯示為淺藍(lán)色,并將y值較大的點(diǎn)顯示為深藍(lán)色

具體運(yùn)行效果如下:

注意,要了解所有相關(guān)顏色的映射,可訪問官網(wǎng),單擊Examples,向下滾動到Color Examples,再單擊colormaps_reference進(jìn)行參考。

4、自動保存圖表

方法 plt.show() 是顯示圖表

要讓程序自動將圖表保存到文件中,可調(diào)用 plt.savefig() 方法

plt.savefig('scatter.png', bbox_inches='tight')  #保存為scatter.png的圖片文件

原文鏈接:https://www.cnblogs.com/codingchen/p/16168311.html

欄目分類
最近更新