網(wǎng)站首頁 編程語言 正文
Matplotlib配置了配色方案和默認(rèn)設(shè)置,主要用來準(zhǔn)備用于發(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)
#顯示當(dāng)前用戶的配置文件目錄
查找到當(dāng)前用戶的配置文件目錄,然后用編輯器打開,修改matplotlib文件,即可修改配置參數(shù)。
2.rc參數(shù)設(shè)置
使用Python編程修改rc參數(shù),rc參數(shù)及其取值如下表1~3
表1 rc參數(shù)名稱及其取值
rc參數(shù) | 解釋 | 取值 |
lines.linewidth | 線條寬度 | 取0~10的數(shù)值,默認(rèn)1.5 |
lines.linestyle | 線條樣式 | 取“-”“--”“-.”“:”4種,默認(rèn)為“-” |
lines.marker | 線條上點的形狀 | 可取“o”“D”等20種,默認(rèn)為None |
lines,markersize | 點的大小 | 取0~10的數(shù)值,默認(rèn)為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 |
需要注意的是,由于默認(rèn)的Pyplot字體并不支持中文符的顯示,因此需要通過設(shè)置font.sans-serif參數(shù)改變繪圖時的字體,使得圖形可以正常顯示中文。同時,由于更換字體后,會導(dǎo)致坐標(biāo)軸中的部分字符無法顯示,因此需要同時更改axes.unicode_minus參數(shù)。
plt.rcParams['font.family'] = ['SimHei'] #用來顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示符號
如果需要在坐標(biāo)軸上顯示時間,可以利用DateFormatter提供的功能進(jìn)行設(shè)置,常用代碼如下:
from matplotlib.dates import DateFormatter
plt.gca().xaxis.set_major_formatter(DateFormatter('%y/%m/%d'))
#自動旋轉(zhuǎn)X軸的刻度,適應(yīng)坐標(biāo)軸
plt.gcf().autofmt_xdate()
除了設(shè)置線條的字體的rc參數(shù)外,還有設(shè)置文本、箱線圖、坐標(biāo)軸、刻度、圖例、標(biāo)記、圖片、圖像保存等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'] #用來顯示中文標(biāo)簽
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坐標(biāo)標(biāo)簽的旋轉(zhuǎn)角度;fontsize為字號,可以取值為“xx-small”“x-small”“small”“medium”“l(fā)arge”“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進(jìn)行繪圖的填充
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()
原文鏈接:https://blog.csdn.net/weixin_52797843/article/details/125018366
相關(guān)推薦
- 2023-04-06 C語言如何實現(xiàn)循環(huán)輸入_C 語言
- 2023-01-17 在1個Matlab?m文件中定義多個函數(shù)直接運行的操作方法_C 語言
- 2022-04-21 Flutter?設(shè)置全局字體的實現(xiàn)_Android
- 2022-10-05 Android模仿Toast實現(xiàn)提示框效果_Android
- 2022-07-16 BOM與DOM的進(jìn)階知識
- 2022-12-05 C++?Boost?Intrusive庫示例精講_C 語言
- 2022-02-22 Android對話框AlertDialog詳解_Android
- 2022-12-13 torch.optim優(yōu)化算法理解之optim.Adam()解讀_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支