python畫圖時(shí)linestyle,color和loc參數(shù)的設(shè)置方式
python畫圖時(shí)linestyle,color和loc參數(shù)的設(shè)置
本人沒有看過專門介紹matplotlib的書籍,所以一直以來對(duì)一些畫圖的風(fēng)格不是很清楚,今天總結(jié)一下linestyle,color和loc,供那些像我一樣沒看過這方面介紹的人使用。
linestyle和color是matplotlib做表時(shí)常用的兩個(gè)參數(shù),只要是需要線條的,不論是主圖,還是添加的網(wǎng)格線,基本上是都會(huì)遇到的。loc則是用來確定位置的,一般添加圖例的時(shí)候回用到。
顏色字符(color)
字符 | 代表顏色 |
---|---|
r | 紅色 |
b | 藍(lán)色 |
g | 綠色 |
w | 白色 |
c | 青色 |
m | 洋紅 |
y | 黃色 |
k | 黑色 |
風(fēng)格字符(linestyle)
字符 | 代表風(fēng)格 |
---|---|
- (一個(gè)連字符) | 實(shí)線 |
– (兩個(gè)連字符) | 虛線 |
-. | 點(diǎn)劃線 |
: | 點(diǎn)虛線 |
’ ’ | 留空,空格 |
loc 參數(shù)(以matplotlib添加圖例為例說明位置)
loc string | loc code | 位置 |
---|---|---|
"best" | 0 | 右上角(默認(rèn)) |
“upper right” | 1 | 右上角 |
“upper left” | 2 | 左上角 |
“lower left” | 3 | 左下角 |
“lower right” | 4 | 右下角 |
"right" | 5 | 中右側(cè) |
“center left” | 6 | 中左側(cè) |
“center right” | 7 | 中右側(cè) |
“low center” | 8 | 中下方 |
“upper center” | 9 | 中上方 |
“center” | 10 | 中間 |
python畫圖基礎(chǔ)
python用于畫圖常用matplotlib和seaborn**
1.matplotlib
使用前需要導(dǎo)入api
import matplotlib.pyplot as plt
1.1繪制基本圖像
1.1.1折線圖
1.準(zhǔn)備數(shù)據(jù)
import random x = range(60) y = [random.uniform(15,18) for i in x] #random.uniform 中參數(shù)即為取值范圍。
2.創(chuàng)建畫布
plt.figure(figsize=(20,5),dpi=100) #其中參數(shù)figsize即為圖像大小,dpi為分辨率。
3.繪制圖像
plt.plot(x,y)
4.圖像顯示
plt.show()
1.1.2 散點(diǎn)圖
重復(fù)1,2,4步
第3步改為plt.scatter(x,y)
圖像顯示:
1.1.3柱狀圖
重復(fù)1,2,4步
第3步改為plt.bar(x,y)
圖像顯示:
1.1.4 直方圖
重復(fù)1,2,4步
第三步改為plt.hist(y)
只傳入一個(gè)y參數(shù),表示y的分布情況
圖像顯示:
也可以傳入x參數(shù),表示x的分布情況(但因x為0~59,所以沒有意義)
圖像顯示:
1.2實(shí)現(xiàn)一些其他功能
我們用自己創(chuàng)建的數(shù)據(jù)作為上海市早上10時(shí)~11時(shí)的溫度變化
#1.數(shù)據(jù)準(zhǔn)備 x_shanghai = x y_shanghai = y #2.創(chuàng)建畫布 plt.figure(figsize=(20,5),dpi=100) #3.繪制圖像 plt.plot(x_shanghai,y_shanghai) #3.1添加x、y的刻度 x_ticks = ["10:{}分"format(i) for i in x_shanghai] y_ticks = range(40) #3.2修改x、y的刻度 plt.xticks(x_shanghai[::5],x_ticks[::5]) #plt.xticks第一個(gè)參數(shù)是刻度,第二個(gè)參數(shù)是刻度標(biāo)簽(plt.yticks也一樣) plt.yticks(y_ticks[::5]) #五分鐘取一個(gè)刻度 #3.3添加網(wǎng)格顯示 plt.grid(True,linestyle = "--",alpha = 0.6) 參數(shù)linestyle為網(wǎng)格線的種類,alpha為網(wǎng)格線深淺
圖像顯示:
1.3 在一個(gè)坐標(biāo)系中畫出多個(gè)圖像
#0 準(zhǔn)備數(shù)據(jù) x = range(60) y_shanghai = [random.uniform(15,18) for i in x] y_beijing = [random.uniform(1,3) for i in x] #1 創(chuàng)建畫布 plt.figure(figsize=(20,5),dpi=100) #2 繪制圖像 plt.plot(x,y_shanghai,label = "上海") #畫一條標(biāo)簽為上海的圖像 plt.plot(x,y_beijing,color = 'r',linestyle="--",label="北京") #畫一條標(biāo)簽為北京的圖像 plt.legend(loc ="best") #plt.legend()函數(shù)設(shè)置圖例位置 #2.1 添加x,y刻度 x_shanghai_ticks = ["10點(diǎn){}分".format(i) for i in x] y_shanghai_ticks = range(40) #2.2 修改x,y刻度 plt.xticks(x[::5],x_shanghai_ticks[::5]) plt.yticks(y_shanghai_ticks[::5]) #2.3 添加網(wǎng)格顯示 plt.grid(True , linestyle = "--",alpha = 0.6) #2.4 添加標(biāo)簽數(shù)據(jù) plt.xlabel("時(shí)間",fontsize=20) plt.ylabel("溫度",fontsize=20) plt.title("某市某日10時(shí)至11時(shí)的溫度變化折線圖",fontsize=20) #fontsize為字體大小 # 圖像保存 plt.savefig("test.png") #3 圖像顯示 plt.show()
圖像顯示:
1.4多坐標(biāo)作圖
#0 準(zhǔn)備數(shù)據(jù) x = range(60) y_shanghai = [random.uniform(15,18) for i in x] y_beijing = [random.uniform(1,3) for i in x] #1 創(chuàng)建畫布 plt.figure(figsize=(20,8),dpi=100) # fig,axes=plt.subplot(nrows=1,ncols=2,figsize=(20,8),dpi=100) #2 繪制圖像 # axes[0].plot(x,y_shanghai,label = "上海") # axes[1].plot(x,y_beijing,color = 'r',linestyle="--",label="北京") f1=plt.subplot(1,2,1)#將figure分成一行兩列,第三個(gè)數(shù)字代表的是第一個(gè)位置的圖 f1.scatter(x,y_shanghai,label="上海",color='r',linestyle='--')#分別為x的顯示范圍為0-3,y的坐標(biāo)0-1 f2=plt.subplot(1,2,2)#將figure分成一行兩列,第三個(gè)數(shù)字代表的是第二個(gè)位置的圖 f2.scatter(x,y_beijing,label="北京") # #2.1 添加x,y刻度 x_ticks= ["10點(diǎn){}分".format(i) for i in x] y_shanghai_ticks = range(40) # #2.2 修改x,y刻度 # plt.xticks(x[::5],x_ticks[::5]) # plt.yticks(y_shanghai_ticks[::5]) f1.set_xticks(x[::5]) f1.set_yticks(y_shanghai_ticks[::5]) f1.set_xticklabels(x_ticks[::5]) f2.set_xticks(x[::5]) f2.set_yticks(y_shanghai_ticks[::5]) f2.set_xticklabels(x_ticks[::5]) # #2.3 添加網(wǎng)格顯示 f1.grid(True , linestyle = "--",alpha = 0.6) f2.grid(True , linestyle = "--",alpha = 0.6) # #2.4 添加標(biāo)簽數(shù)據(jù) # plt.xlabel("時(shí)間",fontsize=20) # plt.ylabel("溫度",fontsize=20) # plt.title("某市某日10時(shí)至11時(shí)的溫度變化折線圖",fontsize=20) f1.set_xlabel("時(shí)間") f1.set_ylabel("溫度") f1.set_title("上海市十時(shí)至十一時(shí)的溫度變化",fontsize=20) f2.set_xlabel("時(shí)間") f2.set_ylabel("溫度") f2.set_title("北京市十時(shí)至十一時(shí)的溫度變化",fontsize=20) f1.legend(loc=0) f2.legend(loc=0) # 圖像保存 plt.savefig("test.png") #3 圖像顯示 plt.show()
圖像顯示:
1.5 繪圖應(yīng)用
import numpy as np # 繪制一般函數(shù)的圖像 # 繪制反正切函數(shù)圖像 # 0 準(zhǔn)備數(shù)據(jù) x = np.linspace(-10,10,1000) # x為-10到10等間距取1000份 y = np.arctan(x) # 1 創(chuàng)建畫布 plt.figure(figsize=(20,8),dpi = 100) # 2 繪制圖像 plt.plot(x,y) # 2.1添加網(wǎng)格 plt.grid(True,linestyle = "--",alpha=0.6) # 3 顯示圖像 plt.show()
圖像顯示:
#繪制正比例函數(shù)y = x
圖像顯示:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python自定義一個(gè)類實(shí)現(xiàn)字典dict功能的方法
今天小編就為大家分享一篇Python自定義一個(gè)類實(shí)現(xiàn)字典dict功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python檢測遠(yuǎn)程服務(wù)器tcp端口的方法
這篇文章主要介紹了python檢測遠(yuǎn)程服務(wù)器tcp端口的方法,涉及Python操作socket檢測tcp端口的技巧,需要的朋友可以參考下2015-03-03python使用py2neo創(chuàng)建neo4j的節(jié)點(diǎn)和關(guān)系
這篇文章主要介紹了python使用py2neo創(chuàng)建neo4j的節(jié)點(diǎn)和關(guān)系,第一步使用py2neo連接neo4j的方法然后根據(jù)dict創(chuàng)建Node,更多相關(guān)資料需要的朋友參考下面文章內(nèi)容2022-02-02在Python反編譯中批量pyc轉(zhuǎn)?py的實(shí)現(xiàn)代碼
這篇文章主要介紹了在Python反編譯中批量pyc轉(zhuǎn)?py的實(shí)現(xiàn)代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02Python?自動(dòng)控制原理?control的詳細(xì)解說
這篇文章主要介紹了Python自動(dòng)控制原理control的詳細(xì)解說,文章圍繞主題展開對(duì)Python?control的介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07Python實(shí)現(xiàn)Restful API的例子
今天小編就為大家分享一篇Python實(shí)現(xiàn)Restful API的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08