python設(shè)置Pyplot的動態(tài)rc參數(shù)、繪圖的填充
Matplotlib配置了配色方案和默認設(shè)置,主要用來準備用于發(fā)布的圖片。有兩種方式可以設(shè)置參數(shù),即全局參數(shù)定制和rc設(shè)置方法。
查看matplotlib的rc參數(shù):
import matplotlib as plt print(plt.ra_params)
1.全局參數(shù)定制
Matplotlib的全局參數(shù)可以通過編輯配置文件設(shè)置
import matplotlib as plt print(plt.matplotlib_fname) #顯示當前用戶的配置文件目錄
查找到當前用戶的配置文件目錄,然后用編輯器打開,修改matplotlib文件,即可修改配置參數(shù)。
2.rc參數(shù)設(shè)置
使用Python編程修改rc參數(shù),rc參數(shù)及其取值如下表1~3
表1 rc參數(shù)名稱及其取值
rc參數(shù) | 解釋 | 取值 |
lines.linewidth | 線條寬度 | 取0~10的數(shù)值,默認1.5 |
lines.linestyle | 線條樣式 | 取“-”“--”“-.”“:”4種,默認為“-” |
lines.marker | 線條上點的形狀 | 可取“o”“D”等20種,默認為None |
lines,markersize | 點的大小 | 取0~10的數(shù)值,默認為1 |
表2 線條樣式lines.linestyle的取值 linestyle取值意義linestyle取值意義-實線-.點線--長虛線:短虛線
linestyle取值 | 意義 | linestyle取值 | 意義 |
- | 實線 | -. | 點線 |
-- | 長虛線 | : | 短虛線 |
表3 lines.marker參數(shù)的取值
marker取值 | 意義 | marker取值 | 意義 |
'o' | 圓圈 | '.' | 點 |
'D' | 菱形 | 's' | 正方形 |
'h' | 六邊形1 | '*' | 星號 |
'H' | 六邊形2 | 'd' | 小菱形 |
'-' | 水平線 | 'v' | 一角朝下的三角形 |
'8' | 八邊形 | '<' | 一角朝左的三角形 |
'p' | 五邊形 | '>' | 一角朝右的三角形 |
',' | 像素 | '^' | 一角朝上的三角形 |
'+' | 加號 | '|' | 豎線 |
'None' | 無 | 'x' | X |
需要注意的是,由于默認的Pyplot字體并不支持中文符的顯示,因此需要通過設(shè)置font.sans-serif參數(shù)改變繪圖時的字體,使得圖形可以正常顯示中文。同時,由于更換字體后,會導致坐標軸中的部分字符無法顯示,因此需要同時更改axes.unicode_minus參數(shù)。
plt.rcParams['font.family'] = ['SimHei'] #用來顯示中文標簽 plt.rcParams['axes.unicode_minus'] = False #用來正常顯示符號
如果需要在坐標軸上顯示時間,可以利用DateFormatter提供的功能進行設(shè)置,常用代碼如下:
from matplotlib.dates import DateFormatter plt.gca().xaxis.set_major_formatter(DateFormatter('%y/%m/%d')) #自動旋轉(zhuǎn)X軸的刻度,適應坐標軸 plt.gcf().autofmt_xdate()
除了設(shè)置線條的字體的rc參數(shù)外,還有設(shè)置文本、箱線圖、坐標軸、刻度、圖例、標記、圖片、圖像保存等rc參數(shù)。
例1.rc參數(shù)設(shè)置例1
import numpy as np import matplotlib.pyplot as plt fig,ax = plt.subplots() #配置中文顯示 plt.rcParams['font.family'] = ['SimHei'] #用來顯示中文標簽 plt.rcParams['axes.unicode_minus'] = False #用來正常顯示符號 def f(t): return np.cos(2*np.pi*t) x1 = np.arange(0.0,4.0,0.5) x2 = np.arange(0.0,4.0,0.01) plt.figure(1) plt.subplot(2,2,1) plt.plot(x1,f(x1),'bo',x2,f(x2),'k') plt.title('子圖1') plt.subplot(2,2,2) plt.plot(x2,f(x2),'r--') plt.title('子圖2') plt.show()
OUT:
例2.rc參數(shù)設(shè)置例2
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.legend(loc = 'best')
OUT:
可以用set_xticks設(shè)置X軸刻度
例3.用set_xticks設(shè)置刻度
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.set_xticks([0,5,10,15,20,25,30,35]) ax.legend(loc = 'best')
OUT:
可以用set_xticklabels改變刻度,設(shè)置刻度的旋轉(zhuǎn)角度及字體等。
例4.用set_xticklabels改變刻度
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.set_xticklabels(['x1','x2','x3','x4','x5'],rotation = 30,fontsize = 'large') ax.legend(loc = 'best')
OUT:
其中,rotation參數(shù)表示X坐標標簽的旋轉(zhuǎn)角度;fontsize為字號,可以取值為“xx-small”“x-small”“small”“medium”“large”“x-large”“xx-large”“smaller”“None”。
3.繪圖的填充
3.1調(diào)用函數(shù)fill_between()實現(xiàn)曲線下面部分的填充
x = np.linspace(0,1,500) y = np.sin(3*np.pi*x)*np.exp(-4*x) fig,ax = plt.subplots() plt.plot(x,y) plt.fill_between(x,0,y,facecolor = 'green',alpha = 0.3)
其中,參數(shù)x表示整個X軸都覆蓋;0表示覆蓋的下限;y表示覆蓋的上限時y這條曲線,facecolor表示覆蓋區(qū)域的顏色;alpha表示覆蓋區(qū)域的透明度[0,1],其值越大,表示越不透明
3.2 部分區(qū)域填充
plt.fill_between(x[15:300],0,0.4,facecolor = 'green',alpha = 0.3)
3.3 兩條曲線之間的區(qū)域填充
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,500) y1 = np.sin(3*np.pi*x)*np.exp(-4*x) y2 = y1 + 0.2 plt.plot(x,y1,'b') plt.plot(x,y2,'r') plt.fill_between(x,y1,y2,facecolor = 'green',alpha = 0.3) plt.show()
3.4 直接使用fill進行繪圖的填充
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,500) y = np.sin(3*np.pi*x)*np.exp(-4*x) fig,ax = plt.subplots() ax.fill(x,y) plt.show()
到此這篇關(guān)于python設(shè)置Pyplot的動態(tài)rc參數(shù)、繪圖的填充的文章就介紹到這了,更多相關(guān)python設(shè)置Pyplot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用eel模塊創(chuàng)建GUI應用程序
在Python中,有許多庫和模塊可以用來創(chuàng)建圖形用戶界面(GUI)應用程序,其中一個流行的選擇是使用eel模塊,下面小編就來為大家詳細介紹一下如何使用eel模塊創(chuàng)建GUI應用程序吧2023-12-12Anaconda3中的Jupyter notebook添加目錄插件的實現(xiàn)
這篇文章主要介紹了Anaconda3中的Jupyter notebook添加目錄插件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05Django haystack實現(xiàn)全文搜索代碼示例
這篇文章主要介紹了Django haystack實現(xiàn)全文搜索代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11python解析中國天氣網(wǎng)的天氣數(shù)據(jù)
最近學習python 感覺這門腳本語言十分靈活 而且功能十分強大 尤其是他re庫用于正則匹配十分強大,寫了個例子解析中國天氣網(wǎng)2014-03-03自動化測試時基于Python常用的幾個加密算法總結(jié)
這幾天做自動化測試,遇到一個問題,那就是接口的請求的密碼是加密的,產(chǎn)品的要求是不能使用使用其他特殊手段,他給提供加密算法,需要在接口請求的時候,使用加密算法處理后的數(shù)據(jù)傳參,本文主要是整理了幾個加密算法,以便后續(xù)測試使用,需要的朋友可以參考下2023-12-12python實現(xiàn)對doc,txt,xls文檔的讀寫操作
這篇文章主要介紹了python實現(xiàn)對doc,txt,xls文檔的讀寫操作,正如標題所見,文章包括三個部分python實現(xiàn)對doc文檔的讀取、python實現(xiàn)對txt文檔的讀取和python實現(xiàn)對xls表格的讀取,需要的朋友可以參考一下2022-04-04