📜  Python中的 Matplotlib.pyplot.yscale()

📅  最后修改于: 2022-05-13 01:54:30.463000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.yscale()

Matplotlib 是Python中的一个库,它是 NumPy 库的数字数学扩展。 Pyplot是 Matplotlib 模块的基于状态的接口,它提供了一个类似于 MATLAB 的接口。

Python中的 matplotlib.pyplot.yscale()

matplotlib 库的 pyplot 模块中的 matplotlib.pyplot.yscale()函数用于设置 y 轴比例。

示例 1:

Python3
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
  
# Example 1
y = np.random.randn(50)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
  
# plot with various axes scales
plt.figure()
  
# linear
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)
  
  
# log
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)
  
  
plt.show()


Python3
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
  
# Example 2
# useful for `logit` scale
from matplotlib.ticker import NullFormatter
  
# Fixing random state for reproducibility
np.random.seed(100)
  
# make up some data in the
# interval ]0, 1[
y = np.random.normal(loc=0.5, 
                     scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
  
# plot with various axes scales
plt.figure()
  
# symmetric log
plt.subplot(221)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)
  
# logit
plt.subplot(222)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)
  
plt.gca().yaxis.set_minor_formatter(NullFormatter())
  
# Adjust the subplot layout, because
# the logit one may take more space
# than usual, due to y-tick labels like "1 - 10^{-3}"
plt.subplots_adjust(top=0.80, bottom=0.03, 
                    left=0.15, right=0.92,
                    hspace=0.34,wspace=0.45)
  
plt.show()


输出:

线性和对数的 yscale 图

示例 2:

蟒蛇3

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
  
# Example 2
# useful for `logit` scale
from matplotlib.ticker import NullFormatter
  
# Fixing random state for reproducibility
np.random.seed(100)
  
# make up some data in the
# interval ]0, 1[
y = np.random.normal(loc=0.5, 
                     scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
  
# plot with various axes scales
plt.figure()
  
# symmetric log
plt.subplot(221)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)
  
# logit
plt.subplot(222)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)
  
plt.gca().yaxis.set_minor_formatter(NullFormatter())
  
# Adjust the subplot layout, because
# the logit one may take more space
# than usual, due to y-tick labels like "1 - 10^{-3}"
plt.subplots_adjust(top=0.80, bottom=0.03, 
                    left=0.15, right=0.92,
                    hspace=0.34,wspace=0.45)
  
plt.show()

输出:

symlog 和 logit 的 yscale 图