Python中的 Matplotlib.pyplot.yscale()
Matplotlib 是Python中的一个库,它是 NumPy 库的数字数学扩展。 Pyplot是 Matplotlib 模块的基于状态的接口,它提供了一个类似于 MATLAB 的接口。
Python中的 matplotlib.pyplot.yscale()
matplotlib 库的 pyplot 模块中的 matplotlib.pyplot.yscale()函数用于设置 y 轴比例。
Syntax: matplotlib.pyplot.yscale(value, **kwargs)
Parameters:
value = { “linear”, “log”, “symlog”, “logit”, … }
These are various axis scale to apply.
**kwargs = Different keyword arguments are accepted, depending on the scale (matplotlib.scale.LinearScale, LogScale, SymmetricalLogScale, LogitScale)
示例 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()
输出:
示例 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()
输出: