網站首頁 編程語言 正文
一、安裝matplotlib
1)由于已安裝anaconda,可直接打開anaconda prompt,再用命令pip install matplotlib進行安裝,因鏡像問題,可能較慢,建議第2種方式。
2)訪問https://pypi.org/project/matplotlib/#files,并查找與你使用的Python版本匹配的wheel文件(擴展名為.whl的文件),比如與python3.9版本相應的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(注意目錄要保持一致)?執行完成即可。
二、測試 matplotlib
打開anaconda prompt 先輸入python,再輸入 import matplotlib,如圖所示,沒有出現任何錯誤消息,就說明系統安裝成功。
三、?繪制簡單的折線
import matplotlib.pyplot as plt #導入模塊matplotlib.pyplot,并重新命名為plt
squares = [1,4,9,16,25,36,49,64,81,100] #定義一個數組
plt.plot(squares, linewidth=5)# 設置圖表標題,并給坐標軸加上標簽和 參數 linewidth 決定了繪制的線條的粗細
plt.title("Square Numbers", fontsize=24)#設置標題和字體大小
plt.xlabel("Value", fontsize=14) # x軸標簽,和字體大小
plt.ylabel("Square of Value", fontsize=14) # y軸標簽,和字體大小
plt.tick_params(axis='both', labelsize=14) # 設置刻度標記的大小,函數 tick_params() 設置刻度的樣式
plt.show()
這樣就完成一個簡單的折線圖,運行效果如下:
注:如果運行過程中,出現圖中紅色方框所示警告,需要重新設置spyder中Tools,如下圖所示:
四、使用 scatter() 繪制散點圖并設置其樣式
1、要繪制單個點
可使用函數 scatter() ,并向它傳遞一對x和y坐標,它將在指定位置繪制一個點:
import matplotlib.pyplot as plt #導入模塊matplotlib.pyplot,并重新命名為plt
plt.scatter(2, 4, s=200) #調用了scatter(),并使用實參s設置了繪制圖形時使用的點的尺寸,位置為2,4
plt.title("Square Numbers", fontsize=24) # 設置圖表標題并給坐標軸加上標簽
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
# 設置刻度標記的大小
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()
2、要繪制系列點
繪制系列點,只需要給出系列點的坐標即可。我們將上述代碼中plt.scatter(2, 4, s=200)的2,4分別用兩個數列代替。
import matplotlib.pyplot as plt #導入模塊matplotlib.pyplot,并重新命名為plt
x_values = [1, 2, 3, 4, 5] #X軸的數列
y_values = [1, 3,6, 9, 12] #y軸的數列
plt.scatter(x_values, y_values, s=100) #調用了scatter(),并使用實參s設置了繪制圖形時使用的點的尺寸 plt.title(" series Numbers", fontsize=24) # 設置圖表標題并給坐標軸加上標簽 plt.xlabel("Value", fontsize=14) plt.ylabel("Value", fontsize=14) # 設置刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) plt.show()
運行結果如下:
3、自動計算數據
像上述手動輸入點數,或數列,都是比較慢的處理方式 ,下面用for循環來替代手工輸入。
可以先將x_values定義為一個數列,數值在一定的范圍,比如1-1000,而對應的y_values也是一個數列,按一定的方式(函數)產生。于是,可以將上述代碼修改為如下:
import matplotlib.pyplot as plt #導入模塊matplotlib.pyplot,并重新命名為plt
x_values = list(range(1, 1001)) #定義一個1-1000的數列,
y_values = [x**2 for x in x_values] #定義Y值的生成方式。
plt.scatter(x_values, y_values, s=4) #調用了scatter(),并使用實參s設置了繪制圖形時使用的點的尺寸
plt.title(" series Numbers", fontsize=24) # 設置圖表標題并給坐標軸加上標簽
plt.xlabel("Value", fontsize=14)
plt.ylabel("Value", fontsize=14)
# 設置刻度標記的大小
plt.tick_params(axis='both', which='major', labelsize=10)
plt.axis([1,1100,1,1100000]) #注意一下axis的參數
plt.show()
運行結果如下:
matplotlib中的點默認為藍色點和黑色輪廓,如上述三圖所示,其中最后一圖因為點較多,且連在一起,像是一條曲線,為區別不同的點,可以對點分別不同的顏色。
只需再配置幾個參數 ,就可以刪除黑色輪廓,和修改點的顏色。
plt.scatter(x_values, y_values, edgecolor='none', s=40),其中edgecolor='none'表示將黑色輪廓刪除
修改數據點的顏色,可向 scatter() 傳遞參數 c ,并將其設置為要使用的顏色的名稱,如下:
plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40) # 將顏色修改為紅色。
顏色映射(colormap)
顏色映射是一系列顏色,從起始顏色漸變到結束顏色。在可視化中,顏色映射用于突出數據的規律
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,edgecolor='none', s=40)
#調用了scatter()參數 c 設置成了一個y值列表,并使用參數 cmap 告訴 pyplot 使用哪個顏色映射,
# 將y值較小的點顯示為淺藍色,并將y值較大的點顯示為深藍色
具體運行效果如下:
注意,要了解所有相關顏色的映射,可訪問官網,單擊Examples,向下滾動到Color Examples,再單擊colormaps_reference進行參考。
4、自動保存圖表
方法 plt.show() 是顯示圖表
要讓程序自動將圖表保存到文件中,可調用 plt.savefig() 方法
plt.savefig('scatter.png', bbox_inches='tight') #保存為scatter.png的圖片文件
原文鏈接:https://www.cnblogs.com/codingchen/p/16168311.html
相關推薦
- 2022-03-12 使用docker部署grafana+prometheus配置_docker
- 2023-09-18 document.getElementById()獲取一直為null
- 2023-07-14 promise封裝的ajax + rem布局
- 2024-02-17 BDD - Python Behave 用戶自定義配置文件
- 2022-09-18 面試必問Linux?命令su和sudo的區別解析_linux shell
- 2022-07-19 CentOS8 服務器連接超時自動斷開問題解決
- 2022-11-09 關于Rust編譯時報link.exe?not?found錯誤問題_相關技巧
- 2022-08-16 python+pytest自動化測試函數測試類測試方法的封裝_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支