Nice programing

matplotlib를 사용하여 모든 서브 플롯의 기본 색상주기를 설정하는 방법은 무엇입니까?

nicepro 2020. 12. 11. 19:27
반응형

matplotlib를 사용하여 모든 서브 플롯의 기본 색상주기를 설정하는 방법은 무엇입니까?


matplotlib로 만든 플롯의 기본 색상 세트를 어떻게 설정할 수 있습니까? 이렇게 특정 색상 맵을 설정할 수 있습니다

import numpy as np
import matplotlib.pyplot as plt

fig=plt.figure(i)
ax=plt.gca()
colormap = plt.get_cmap('jet')
ax.set_color_cycle([colormap(k) for k in np.linspace(0, 1, 10)])

그러나 서브 플롯을 포함하여 모든 플롯에 대해 동일한 색상 세트를 설정하는 방법이 있습니까?


확실한! 어느 지정 axes.color_cycle당신의 .matplotlibrc파일 또는 사용하여 런타임에 설정 matplotlib.rcParams하거나 matplotlib.rc.

후자의 예 :

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

# Set the default color cycle
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "k", "c"]) 

x = np.linspace(0, 20, 100)

fig, axes = plt.subplots(nrows=2)

for i in range(10):
    axes[0].plot(x, i * (x - 10)**2)

for i in range(10):
    axes[1].plot(x, i * np.cos(x))

plt.show()

여기에 이미지 설명 입력


matplotlib 1.5부터 mpl.rcParams [ 'axes.color_cycle']은 더 이상 사용되지 않습니다. axes.prop_cycle을 사용해야합니다.

import matplotlib as mpl
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"]) 

2.1.0 버전에서는 set_prop_cycle 및 module cycler를 사용하여 아래에서 작동합니다.

from cycler import cycler
custom_cycler = (cycler(color=['r','b','m','g']))
ax.set_prop_cycle(custom_cycler)

추가 라인 속성을 추가 할 수 있습니다.

custom_cycler = (cycler(color=['r','b','m','g']) + cycler(lw=[1,1,1,2]))

'ax'는 ax = plt.axes () 또는 모든 축 생성기에서 제공됩니다.

참고 URL : https://stackoverflow.com/questions/9397944/how-to-set-the-default-color-cycle-for-all-subplots-with-matplotlib

반응형