Python?matplotlib調(diào)整坐標(biāo)軸位置、標(biāo)簽位置和標(biāo)簽方向以及X軸刻度標(biāo)簽位置
一、默認(rèn)情況下繪圖
本例使用我國1953-2021年的“人均GDP同比增長率(%)”來進(jìn)行演示,數(shù)據(jù)來源于wind,數(shù)據(jù)概況如下:
GDP = [13.1, 1.8, 4.6, 12.7, 2.4, 18.4, 6.9, -0.2, -26.5, -6.3, 7.6, 15.5, 14.2, 7.6, -8.1, -6.5, 13.8, 16.1, 4.2, 1.3, 5.3, 0.2, 6.8, -3.1, 6.1, 10.2, 6.2, 6.5, 3.8, 7.4, 9.2, 13.7, 11.9, 7.3, 9.9, 9.4, 2.6, 2.4, 7.8, 12.8, 12.6, 11.8, 9.8, 8.8, 8.1, 6.8, 6.7, 7.6, 7.6, 8.4, 9.4, 9.5, 10.7, 12.1, 13.6, 9.1, 8.9, 10.1, 9.0, 7.1, 7.1, 6.8, 6.4, 6.2, 6.3, 6.3, 5.6, 2.1, 8.0] Year = [1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021]
簡單參數(shù)情況下,繪圖代碼如下:
plt.figure(figsize=(6,4),dpi=100) plt.plot(Year, GDP, color='darkblue', linewidth='0.8', label='中國人均GDP年實(shí)際增速') plt.xlabel('年份') plt.ylabel('人均GDP同比增長(%)') plt.legend(loc='lower right') plt.grid(alpha=0.4,linestyle=':') plt.show()
代碼執(zhí)行效果如下圖:
二、對圖表進(jìn)行調(diào)整
調(diào)整要求:
1、調(diào)整坐標(biāo)上方和右方坐標(biāo)軸;
2、將X軸調(diào)整至y=0處;
3、將y軸標(biāo)簽“人均GDP同比增長(%)”調(diào)整至y軸上方,并調(diào)整方向?yàn)樗剑?/p>
4、將x軸調(diào)整后,刻度標(biāo)簽跟隨移動,我們將x軸刻度標(biāo)簽保留在圖表最下方。
(一)調(diào)整坐標(biāo)軸
去掉坐標(biāo)的上方和右方坐標(biāo)軸,再將X軸移動到y(tǒng)=0處。
plt.figure(figsize=(6,4),dpi=100) plt.plot(Year, GDP, color='darkblue', linewidth='0.8', label='中國人均GDP年實(shí)際增速') ax = plt.subplot() ax.spines['top'].set_visible(False) #設(shè)置坐標(biāo)軸,下同 ax.spines['right'].set_visible(False) ax.spines['bottom'].set_position(('data',0)) plt.xlabel('年份') plt.ylabel('人均GDP同比增長(%)') plt.legend(loc='lower right') plt.grid(alpha=0.4,linestyle=':') plt.show()
調(diào)整坐標(biāo)軸和調(diào)整X軸的效果如下:
(二)調(diào)整X軸、Y軸標(biāo)簽位置、方向和X軸刻度標(biāo)簽位置
下面請看代碼,代碼中的參數(shù)的相關(guān)數(shù)據(jù)可以根據(jù)實(shí)際需要進(jìn)行調(diào)整:
plt.figure(figsize=(6,4),dpi=100) plt.plot(Year, GDP, color='darkblue', linewidth='0.8', label='中國人均GDP年實(shí)際增速') ax = plt.subplot() ax.spines['top'].set_visible(False) #設(shè)置坐標(biāo)軸,下同 ax.spines['right'].set_visible(False) ax.spines['bottom'].set_position(('data',0)) plt.xlabel('年份', labelpad=-12, #調(diào)整x軸標(biāo)簽與x軸距離 x=1.04, #調(diào)整x軸標(biāo)簽的左右位置 fontsize=9) plt.ylabel('人均GDP同比增長(%)', labelpad=-40, #調(diào)整y軸標(biāo)簽與y軸的距離 y=1.02, #調(diào)整y軸標(biāo)簽的上下位置 rotation=0,fontsize=9) plt.xticks(np.arange(1953,2024,5), rotation=45, position=(0,-29), #調(diào)整年份的位置,讓遠(yuǎn)離了x軸 fontsize=9) plt.yticks(np.arange(-30,21,5),fontsize=9) plt.legend(fontsize=9, bbox_to_anchor=(0.7,-0.1), #圖例的框位置,調(diào)整到坐標(biāo)軸外 frameon=False) #圖例的邊框開關(guān) plt.grid(alpha=0.4,linestyle=':') plt.show()
調(diào)整坐標(biāo)軸標(biāo)簽,以及x軸刻度標(biāo)簽位置的效果如下:
本例只是為了演示調(diào)整坐標(biāo)軸、X軸位置,調(diào)整坐標(biāo)軸標(biāo)簽和方向、調(diào)整x軸刻度標(biāo)簽,其余的圖形效果可以自行調(diào)整設(shè)計(jì)。
附:坐標(biāo)軸刻度(tick label)
修改 tick label 字號大小,當(dāng)我們的 figure 上只有一套 axes 時(shí),使用 plt.tick_params 的參數(shù) labelsize 可以修改坐標(biāo)軸刻度字號。
fig = plt.figure() plt.plot(x,y) plt.tick_params(labelsize=15) # here plt.show()
如果使用的是 axes 對象,也可以通過 .tick_params(labelsize) 來進(jìn)行指定。
fig = plt.figure() axes = plt.subplot(111) axes.plot(x,y) axes.tick_params(labelsize=15) # here plt.show()
總結(jié)
到此這篇關(guān)于Python matplotlib調(diào)整坐標(biāo)軸位置、標(biāo)簽位置和標(biāo)簽方向以及X軸刻度標(biāo)簽位置的文章就介紹到這了,更多相關(guān)matplotlib調(diào)整坐標(biāo)軸位置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python求解最大公約數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Python求解最大公約數(shù)的實(shí)現(xiàn)方法,包括用Python表示歐幾里得算法和Stein算法的求解原理,需要的朋友可以參考下2015-08-08Python 拷貝對象(深拷貝deepcopy與淺拷貝copy)
Python中的對象之間賦值時(shí)是按引用傳遞的,如果需要拷貝對象,需要使用標(biāo)準(zhǔn)庫中的copy模塊。2008-09-09Django數(shù)據(jù)庫遷移報(bào)錯(cuò)InconsistentMigrationHistory
最近在使用Django,學(xué)習(xí)了一下Django數(shù)據(jù)庫遷移,在執(zhí)行遷移命令時(shí),突然報(bào)錯(cuò),本文就總結(jié)了一下原因,感興趣的小伙伴們可以參考一下2021-05-05python目標(biāo)檢測yolo3詳解預(yù)測及代碼復(fù)現(xiàn)
這篇文章主要為大家介紹了python目標(biāo)檢測yolo3詳解預(yù)測及代碼復(fù)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05