是可能的週期線的顏色與基本曲線在matplotlib.pyplot
:顏色循環用於多個matplotlib pyplot等高線圖
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_prop_cycle(plt.cycler('color', ['c', 'm', 'y', 'k']))
x = np.linspace(-1.0, 1.0, 50)
for f in [1.0, 2.0, 3.0, 4.0]:
ax.plot(x, np.sin(x * f))
plt.show()
這導致具有從所述循環器列表中的下一顏色的每個部分的正弦波曲線圖,它會必要時包裹:
我使用contour
情節來繪製一個輪廓。對於每種情況,我想繪製一個輪廓,但我希望顯示的顏色自動循環通過指定的調色板(這樣我可以顯示可讀的彩色編碼圖例)。然而ax.set_prop_cycle
似乎並不在這裏有同樣的效果:
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_prop_cycle(plt.cycler('color', ['c', 'm', 'y', 'k']))
x = np.linspace(-1.0, 1.0, 50)
y = np.linspace(-1.0, 1.0, 50)
z = np.zeros((len(x), len(y)))
# simple function to create useful contours:
def get_z(x, y, f):
for i, u in enumerate(x):
for j, v in enumerate(y):
z[i, j] = (f * u) ** 2 + (f * v) ** 2
return z
# plot for multiple values of `f`
for f in [1.0, 2.0, 3.0, 4.0]:
ax.contour(x, y, get_z(x, y, f), levels=[1], linewidth=2)
plt.show()
每條曲線(環)具有相同的顏色 - 它不會自動循環。我希望每個情節都有不同的顏色。我知道每個「完整」輪廓圖確實循環每個輪廓的顏色,作爲單個繪圖的一部分繪製,但在我的情況下,我只是在一個固定的「等級」繪製一個輪廓。
是否有一個相當直接的方法來做到這一點,而不是明確指定每個圖的顏色?我最終計劃繪製動態數量的情節,所以指定它們並不實際,我需要它在需要時環繞。
也許有辦法設置或旋轉輪廓圖的顏色映射的起始偏移?
嗯,不錯用一個永久的發電機的功能 - 謝謝你。 – meowsqueak