<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
✅在使用matplotlib繪製簡單的折線圖之前首先需要安裝matplotlib,直接在pycharm終端pip install matplotlib即可
✅使用matplotlib繪製簡單的折線圖,再對其進行客製化,實現資料的視覺化操作
import matplotlib.pyplot as plt # 匯入pyplot模組並設定別名為plt squares = [1, 4, 9, 16, 25] plt.plot(squares) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
執行結果如下:
上圖所示的圖形表示的數位越來越大,但標籤文字太小,線條太細,不方便觀察,這時就需要調整一下增加圖形的可讀性
import matplotlib.pyplot as plt # 匯入pyplot模組並設定別名為plt squares = [1, 4, 9, 16, 25] plt.plot(squares, linewidth=5) # 函數linewidth設定繪製線條的粗細 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', labelsize=14) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
圖形更容易閱讀了,但我們發現沒有正確的繪製資料,折線圖的終點指出4的平方為25!
向plot()提供一系列數位時,它假設第一個資料點對應的x座標值為0,但我們的第一個點對應的x值為1。為改變這種預設行為,我們可以給plot同時提供輸入值和輸出值。
import matplotlib.pyplot as plt # 匯入pyplot模組並設定別名為plt input_value = [1, 2, 3, 4, 5] squares = [1, 4, 9, 16, 25] plt.plot(input_value, squares, linewidth=5) # 函數linewidth設定繪製線條的粗細 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', labelsize=14) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
現在plot()成功繪製資料,因為我們同時提供了輸入值和輸出值。使用plot()時可指定各種實參,還可使用眾多函數對影象進行客製化
有時候需要繪製散點圖並設定各個資料的格式。例如:你可能想以一種顏色顯示較小的值,用一種顏色顯示較大的值。繪製大型資料集時,你還可以對每個點都設定同樣的格式,再使用不同的樣式選項重新繪製某個點,以突出它們 ✅要繪製單個點,可使用函數scatter(),並向它傳遞一對x,y座標,它將在指定繪製繪製一個點
import matplotlib.pyplot as plt plt.scatter(2, 4) # 向scatter函數傳遞一對x,y座標 plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
下面來設定輸出的樣式,使其更有趣:新增標題,給座標軸加上標籤,並設定文字格式
import matplotlib.pyplot as plt plt.scatter(2, 4, s=200) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', 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() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
使用scatter()繪製一系列點
import matplotlib.pyplot as plt x_values = [1, 2, 3, 4, 5] y_values = [1, 4, 9, 16, 25] plt.scatter(x_values, y_values, s=100) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', 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() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
手動計算列表包含的值很麻煩,可以利用python中的迴圈來解決,下面是繪製1000個點的範例:
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x ** 2 for x in x_values] plt.scatter(x_values, y_values, s=10) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 設定每個座標軸的取值範圍 plt.axis([0, 1100, 0, 1100000]) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
✅這裡需要注意函數axis需要傳入四個值,x,y座標的最小值,最大值 效果如下:
要刪除資料點的輪廓,可在呼叫scatter()時傳遞實參edgecolor=‘none’
plt.scatter(x_values, y_values, edgecolors='none', s=10)
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x ** 2 for x in x_values] plt.scatter(x_values, y_values, edgecolors='none', s=10) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 設定每個座標軸的取值範圍 plt.axis([0, 1100, 0, 1100000]) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
要修改資料點的顏色,可向scatter()傳遞引數c,並將其設定要使用的顏色的名稱
plt.scatter(x_values, y_values, c='red',edgecolors='none', s=10)
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x ** 2 for x in x_values] plt.scatter(x_values, y_values, c='red',edgecolors='none', s=10) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 設定每個座標軸的取值範圍 plt.axis([0, 1100, 0, 1100000]) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
效果如下:
顏色對映(colormap)是一系列顏色,它們從顏色漸變到結束顏色。在視覺化中,顏色對映用於突出資料的規律,例如,你可能用較淺的顏色顯示較小的值,並使用較深的顏色顯示較大的值
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x ** 2 for x in x_values] # 將c設定為y值列表,使用引數cmap告訴pyplot使用哪個顏色對映 plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=10) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 設定每個座標軸的取值範圍 plt.axis([0, 1100, 0, 1100000]) plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
要讓程式自動將圖表儲存到檔案中,可將對plt.show()的呼叫替換為對plt.sacefig()的呼叫
plt.savefig('squares.png',bbox_inches='tight')
第一個實參指定要以什麼樣的檔名儲存圖表,第二個實參指定將圖表多餘的空白區域裁剪(如果要保留,可省略這個實參)
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x ** 2 for x in x_values] # 將c設定為y值列表,使用引數cmap告訴pyplot使用哪個顏色對映 plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=10) # 向scatter函數傳遞一對x,y座標 # 設定圖表標題,並給座標軸加上標籤 plt.title('Square number', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 設定刻度標記的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 設定每個座標軸的取值範圍 plt.axis([0, 1100, 0, 1100000]) plt.savefig('squares.png',bbox_inches='tight') plt.show() # 開啟matplotib檢視器,並顯示繪製的圖形
儲存效果如下:
✅注意事項: 一定要把儲存圖表的程式碼放在plt.show前面,要是放在後面show會重新建立新的圖片
以上就是繪製簡單折線圖的教學,如果有改進的建議歡迎在評論區留言奧
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45