Python中的 Matplotlib.pyplot.rc()
Matplotlib是Python中用于数组二维图的惊人可视化库。 Matplotlib 是一个基于 NumPy 数组构建的多平台数据可视化库,旨在与更广泛的 SciPy 堆栈配合使用。
matplotlib.pyplot.rc()
matplotlib.pyplot.rc()函数用于 rc 参数。 rc 中的分组是通过“组”完成的(例如,对于行)。对于轴中的线,该组是线宽。轴组是 facecolor 等等。列表或元组也可以作为组名(例如,xtick、ytick)。 Kwargs 充当名称值对,广义上是一个字典,例如:
句法:
rc(‘lines’, linewidth=3, color=’g’)
它设置当前的 rc 参数并且与
rcParams[‘lines.linewidth’] = 3
rcParams[‘lines.color’] = ‘g’
为了节省交互式用户的输入,可以使用以下别名:
Alias | Property |
---|---|
‘lw’ | ‘linewidth’ |
‘ls’ | ‘linestyle’ |
‘c’ | ‘color’ |
‘fc’ | ‘facecolor’ |
‘ec’ | ‘edgecolor’ |
‘mew’ | ‘markeredgewidth’ |
‘aa’ | ‘antialiased’ |
因此,once 可以将上述 rc 命令简写如下
rc(‘lines’, lw=3, c=’g’)
注意:可以使用 pythons kwargs 字典来存储其默认参数的字典。例如,
font = {‘family’ : ‘monospace’,
‘weight’ : ‘italic’,
‘size’ : ‘medium’}
# pass in the font dict as kwargs
rc(‘font’, **font)
这有助于在不同配置之间轻松切换。您还可以使用 matplotlib.style.use('default') 或 rcdefaults() 在更改后恢复 rc 参数。
示例 1:
from cycler import cycler
import numpy as np
import matplotlib.pyplot as plt
# setting up a custom cycler
sample_cycler = (cycler(color =['r', 'g',
'b', 'y']) +
cycler(lw =[1, 2, 3, 4]))
# using the rc function
plt.rc('lines', linewidth = 4)
plt.rc('axes', prop_cycle = sample_cycler)
A = np.linspace(0, 2 * np.pi, 50)
line_offsets = np.linspace(0, 2 * np.pi, 4,
endpoint = False)
B = np.transpose([np.sin(A + phi) for phi in line_offsets])
figure, (axes0, axes1) = plt.subplots(nrows = 2)
axes0.plot(B)
axes0.set_title('Set default color cycle to 1st plot')
axes1.set_prop_cycle(sample_cycler)
axes1.plot(B)
axes1.set_title('Set axes color cycle to 2nd plot')
# Adding space between the two plots.
figure.subplots_adjust(hspace = 0.4)
plt.show()
输出:
示例 2:
import matplotlib.pyplot as plt
plt.subplot(332)
plt.plot([1, 2, 3, 4])
# setting the axes attributes
# before the call to subplot
plt.rc('font', weight ='bold')
plt.rc('xtick.major', size = 5, pad = 7)
plt.rc('xtick', labelsize = 15)
# setting aliases for color, linestyle
# and linewidth; gray, solid, thick
plt.rc('grid', c ='0.3', ls ='-', lw = 4)
plt.rc('lines', lw = 2, color ='g')
plt.subplot(312)
plt.plot([1, 2, 3, 4])
plt.grid(True)
# set changes to default value
plt.rcdefaults()
plt.subplot(313)
plt.plot([1, 2, 3, 4])
plt.grid(True)
plt.show()
输出: