문제
특정 함수의 시간 진화를 시각화하기 위해 몇 가지 컨투어 플롯을 나란히 계획하고 있습니다. 각 컨투어의 값과 색상이 모든 서브 플로트간에 공유되기를 원하지만 새 서브 플롯을 추가 할 때마다 윤곽 값이 다시 계산되므로 (아래 이미지에 표시된대로) 비교는 의미가 없습니다.
컬러 바가있는 윤곽점 http://www.inf.utfsm.cl/~rbonvall/colorbar-and-contour-plots.png
수동으로 다른 조합을 설정하려고 시도했습니다 cmap
, colorbar
그리고 axes
성공하지 못한 각 서브 플롯 인스턴스의 속성. 모든 서브 플로트간에 윤곽 줄거리 속성을 공유하려면 어떻게해야합니까? 다시 말해, 모든 서브 플로트에 대해 동일한 컬러 바를 얻는 방법은 무엇입니까?
해결책
윤곽 줄거리에 사용할 윤곽 값을 직접 지정할 수 있습니다. 예는 다음과 같습니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-1.2, 1.2, .025)
y = np.arange(-1.2, 1.2, .025)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.cos(Y)
Z = Z*Z
plt.subplot(1,2,1)
CS = plt.contour(X, Y, Z) # set levels automatically
plt.clabel(CS, inline=1, fontsize=10)
plt.subplot(1,2,2)
CS = plt.contour(X, Y, Z-.1, CS.levels) # set levels as previous levels
plt.clabel(CS, inline=1, fontsize=10)
plt.show()
제휴하지 않습니다 StackOverflow