2012-02-22 28 views
53

Làm cách nào để đặt bộ màu mặc định cho các ô được tạo bằng matplotlib? Tôi có thể đặt một bản đồ màu cụ thể như thế nàyLàm thế nào để đặt chu trình màu mặc định cho tất cả các vị trí con bằng 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)]) 

nhưng có cách nào để đặt cùng một bộ màu cho tất cả các ô, bao gồm cả các vị trí con không?

+0

liên quan http://stackoverflow.com/questions/4971269/how-to-pick-a-new-color-for-each-plotted-line-within-a- con số-trong-matplotlib –

Trả lời

65

Chắc chắn! Hoặc là specify axes.color_cycle in your .matplotlibrc file hoặc đặt thời gian chạy bằng cách sử dụng matplotlib.rcParams hoặc matplotlib.rc.

Là một ví dụ về sau:

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

# Set the default color cycle 
mpl.rcParams['axes.color_cycle'] = ['r', 'k', 'c'] 

# Alternately, we could use rc: 
# mpl.rc('axes', color_cycle=['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() 

enter image description here

22

Bắt đầu từ matplotlib 1.5, mpl.rcParams [ 'axes.color_cycle'] bị phản đối. Bạn nên sử dụng axes.prop_cycle:

import matplotlib as mpl 
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"]) 
Các vấn đề liên quan