本節小宇宙給大家帶來如何使用Matplotlib模塊來繪製對數,分對數坐標軸的圖。話不多說,直接為大家帶來香噴噴的代碼:
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl #引入必要的庫
mpl.rcParams.update(
{
'text.usetex': False,
'font.family': 'stixgeneral',
'mathtext.fontset': 'stix',
}
) #用於正常顯示指數符號
# #解決中文顯示問題
plt.rcParams['font.sans-serif']=['SimHei']
#用來正常顯示負號
plt.rcParams['axes.unicode_minus']=False
np.random.seed(1234) #隨機種子,保證每次運行的結果一致
y=np.random.normal(loc=0.5,scale=0.4,size=1000)#生成均勻分布的數組
y=y[(y>0)&(y<1)] #篩選出在0-1之間的y值
y.sort() #對y值進行排序
x=np.arange(len(y)) #使用arange()函數生成一個和y數組一樣的序列
plt.figure(1) #創建第一個畫布
#線性
plt.subplot(221) #添加子圖1
plt.plot(x,y) #繪製子圖
plt.title('linear') #添加子圖標題
plt.grid(True) #打開網格
#對數
plt.subplot(222) #添加子圖2
plt.plot(x,y)
plt.yscale('log') #繪製y的對數坐標軸
plt.title('log') #添加子圖標題
plt.grid(True) #打開網格
#分對數
plt.subplot(223) #添加子圖3
plt.plot(x,y-y.mean()) #繪製子圖
plt.yscale('symlog',linthreshy=0.01) #設置y軸為分對數
plt.title('symlog')
plt.grid(True)
#對數
plt.subplot(224) #添加子圖4
plt.plot(x,y)
plt.yscale('logit') #設置y軸為對數
plt.title('logit')
plt.grid(True)
plt.subplots_adjust(top=0.92,bottom=0.08,left=0.1,right=0.95,hspace=0.35,wspace=0.35) #調整子圖之間的上下左右間隔
plt.show()
程序運行結果如下: