1、plt.legendplt.legend(loc=0)#顯示圖例的位置。
我們一直強(qiáng)調(diào)網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)絡(luò)公司不一定是大公司,成都創(chuàng)新互聯(lián)公司作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
2、plt.figureplt.figure(figsize=(14,6),dpi=80)#設(shè)置繪圖區(qū)域的大小和像素。
3、plt.xticksplt.xticks(new_year)#設(shè)置x軸的刻度線為new_year,new_year可以為數(shù)組。
4、plt.xlabelplt.xlabel('year')#x軸標(biāo)簽。
5、plt.plotplt.plot(number,color='blue',label="actualvalue")#將實(shí)際值的折線設(shè)置為藍(lán)色。
6、兩個(gè)圖分開fig,axes=plt.subplots(2,1,sharex=True,figsize=(10,10))。
7、畫豎直線plt.axvline(99,linestyle="dotted",linewidth=4,color='r')#99表示橫坐標(biāo)。
8、圖片保存plt.savefig('timeseries_y.jpg')。
其中有兩個(gè)非常漂亮的指數(shù)函數(shù)圖就是用python的matplotlib畫出來的。這一期,我們將要介紹如何利用python繪制出如下指數(shù)函數(shù)。
圖 1 a1圖 1 a1
我們知道當(dāng)0 ,指數(shù)函數(shù) 是單調(diào)遞減的,當(dāng)a1 時(shí),指數(shù)函數(shù)是單調(diào)遞增的。所以我們首先要定義出指數(shù)函數(shù),將a值做不同初始化
import math
...
def exponential_func(x, a): #定義指數(shù)函數(shù)
y=math.pow(a, x)
return y
然后,利用numpy構(gòu)造出自變量,利用上面定義的指數(shù)函數(shù)來計(jì)算出因變量
X=np.linspace(-4, 4, 40) #構(gòu)造自變量組
Y=[exponential_func(x) for x in X] #求函數(shù)值
有了自變量和因變量的一些散點(diǎn),那么就可以模擬我們平時(shí)畫函數(shù)操作——描點(diǎn)繪圖,利用下面代碼就可以實(shí)現(xiàn)
import math
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist #導(dǎo)入坐標(biāo)軸加工模塊
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
fig=plt.figure(figsize=(6,4)) #新建畫布
ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法創(chuàng)建一個(gè)繪圖區(qū)對象ax
fig.add_axes(ax) #將繪圖區(qū)對象添加到畫布中
def exponential_func(x, a=2): #定義指數(shù)函數(shù)
y=math.pow(a, x)
return y
X=np.linspace(-4, 4, 40) #構(gòu)造自變量組
Y=[exponential_func(x) for x in X] #求函數(shù)值
ax.plot(X, Y) #繪制指數(shù)函數(shù)
plt.show()
圖 2 a=2
圖2雖簡單,但麻雀雖小五臟俱全,指數(shù)函數(shù)該有都有,接下來是如何讓其看起來像我們在作圖紙上面畫的那么美觀,這里重點(diǎn)介紹axisartist 坐標(biāo)軸加工類,在的時(shí)候我們已經(jīng)用過了,這里就不再多說了。我們只需要在上面代碼后面加上一些代碼來將坐標(biāo)軸好好打扮一番。
圖 3 a1 完整代碼# -*- coding: utf-8 -*-圖 3 a1 完整代碼# -*- coding: utf-8 -*-"""Created on Sun Feb 16 10:19:23 2020project name:@author: 帥帥de三叔"""import mathimport numpy as npimport matplotlib.pyplot as pltimport mp
泰勒圖繪制的核心思想是設(shè)計(jì)一個(gè)只有第一象限的極坐標(biāo),并將方差,相關(guān)系數(shù)進(jìn)行捆綁,通過轉(zhuǎn)化為極坐標(biāo)系坐標(biāo)進(jìn)行繪制。為了實(shí)現(xiàn)泰勒圖的繪制,我設(shè)計(jì)了兩個(gè)函數(shù):
set_tayloraxes(fig, location=111) 和plot_taylor(axes, refsample, sample, args, *kwargs)
set_tayloraxes()函數(shù)用于建立一個(gè)泰勒圖的坐標(biāo)系,這個(gè)自定義函數(shù)一般情況下不建議修改,每一個(gè)參數(shù)都是經(jīng)過多次調(diào)試得到的,很可能牽一發(fā)動(dòng)全身。因此,將繪圖部分的獨(dú)立成為了plot_taylor函數(shù)(),這部分函數(shù)較為簡單,目的就是將需要繪圖的數(shù)據(jù),轉(zhuǎn)換為極坐標(biāo)系坐標(biāo),通過plot函數(shù)將散點(diǎn)打在泰勒圖上,這個(gè)函數(shù)模塊較為簡單,可以根據(jù)自己的輸入數(shù)據(jù)情況進(jìn)行調(diào)整。
下面介紹下函數(shù)的具體用法:
輸入:
fig: 需要繪圖的figure
rect:圖的位置,如111為1行1列第一個(gè),122為1行2列第2個(gè)
輸出:
polar_ax:泰勒坐標(biāo)系
輸入:
axes : setup_axes返回的泰勒坐標(biāo)系
refsample :參照樣本
sample :評估樣本
args, *kwargs :plt.plot()函數(shù)的相關(guān)參數(shù),設(shè)置點(diǎn)的顏色,形狀等等。
下面給出示例: