필자의 경우에 적용되지 않는 많은 예제를 보았습니다. 내가하고 싶은 것은 colorbar에 대한 간단한 최소값과 최대 값을 설정하는 것입니다. 이미지 cmap의 범위를 설정하는 것은 쉽지만이 작업은 색상 막대의 최소값과 최대 값에 동일한 범위를 적용하지 않습니다. cmap를 범위는 이제 0matplotlib의 색상 막대에 대한 제한 설정
답변
I propose you incorporate you plot in a fig (1) 사이에 고정되어 있지만,
triang = Triangulation(x,y)
plt.tricontourf(triang, z, vmax=1., vmin=0.)
plt.colorbar()
년 Colorbar 여전히 데이터 Z의 범위에 고정하고이 샘플에서 영감을 얻을 : 아래 코드 설명 할 당신은 당신이 년 Colorbar의 색상에 대한 bounds
을 설정하고 진드기 할 수있는 참조 년 Colorbar
data = np.tile(np.arange(4), 2)
fig = plt.figure()
ax = fig.add_subplot(121)
cax = fig.add_subplot(122)
cmap = colors.ListedColormap(['b','g','y','r'])
bounds=[0,1,2,3,4]
norm = colors.BoundaryNorm(bounds, cmap.N)
im=ax.imshow(data[None], aspect='auto',cmap=cmap, norm=norm)
cbar = fig.colorbar(im, cax=cax, cmap=cmap, norm=norm, boundaries=bounds,
ticks=[0.5,1.5,2.5,3.5],)
plt.show()
를 사용하여.
당신이 달성하기를 원하는 것은 엄밀히는 없지만, 무화과에 대한 힌트가 도움이 될 수 있습니다.
This other one uses ticks
또한 컬러 바의 스케일을 정의합니다.
import numpy as np
import matplotlib.pyplot as plt
xi = np.array([0., 0.5, 1.0])
yi = np.array([0., 0.5, 1.0])
zi = np.array([[0., 1.0, 2.0],
[0., 1.0, 2.0],
[-0.1, 1.0, 2.0]])
v = np.linspace(-.1, 2.0, 15, endpoint=True)
plt.contour(xi, yi, zi, v, linewidths=0.5, colors='k')
plt.contourf(xi, yi, zi, v, cmap=plt.cm.jet)
x = plt.colorbar(ticks=v)
print x
plt.show()
동일한 문제가 발생하여이 문제에 대한 구체적인 예 (의미는 없지만)가 생겼습니다. 주석 처리 된 contourf 명령은 색상 한계가 아닌 데이터와 동일한 경계를 갖는 색상 막대를 작성합니다.
tricontourf의 레벨 옵션은이 문제를 해결할 수있는 좋은 방법 인 것처럼 보입니다. 그래야 플롯에서 레벨을 초과하는 값을 포함하려면 extend = 'both'옵션이 필요합니다.
import matplotlib.tri as mtri
import numpy as np
from numpy.random import randn
from matplotlib import colors
numpy.random.seed(0)
x = randn(300)
y = randn(300)
z = randn(*x.shape)
triangles = mtri.Triangulation(x, y)
bounds=np.linspace(-1,1,10)
# sc = plt.tricontourf(triangles, z, vmax=1., vmin=-1.)
sc = plt.tricontourf(triangles, z, vmax=1., vmin=-1., levels = bounds,\
extend = 'both')
cb = colorbar(sc)
_ = ylim(-2,2)
_ = xlim(-2,2)
나는이 질문이 버그를 지적했다고 생각했지만 사용법/호환성 제한이되었다. 해결책은 원하는 색상 막대의 범위에 대한 윤곽선을 만들고 extend
kwarg를 사용하는 것입니다. 자세한 내용은 this issue을 참조하십시오. 이 솔루션을 제공하는 @tcaswell 덕분에 : 당신이 년 Colorbar 당신은 cbar0.set_ticks
로 조정할 수 있습니다, 진드기 마음에 들지 않는 경우 여기에서
import matplotlib.pyplot as plt
import numpy as np
x, y = np.mgrid[0:1:0.01, 0:1:0.01]
r = np.sqrt(x ** 2 + y ** 2)
z = np.sin(6 * np.pi * r)
fig0, ax0 = plt.subplots(1, 1,)
cf0 = ax0.contourf(x, y, z, np.arange(0, .5, .01),
extend='both')
cbar0 = plt.colorbar(cf0,)
. 이것도 tricontourf
과 함께 작동하는지 확인했습니다.
@ tcaswell 코드를 원하는 결과를 얻는 데 필요한 코드로 간소화했습니다. 또한 그는 새로운 viridis 색상 맵을 사용했으나 잘하면 아이디어를 얻을 수 있습니다.
아마도 가장 간단한 방법입니다.
(그림과 같이 코드)
plt.colorbar(boundaries=np.linspace(0,1,5))
...
- 1. matplotlib의 색상 막대에 그래프 맞추기
- 2. matplotlib의 색상 막대에 ylabel 위치 고정
- 3. matplotlib의 사각형 색상 설정
- 4. matplotlib의 색상
- 5. matplotlib의 기본 색상 막대
- 6. matplotlib의 다중 색상 막대
- 7. matplotlib의 기본 색상 수정
- 8. matplotlib의 색상 막대 테두리 색상 사용자 정의
- 9. matplotlib의 색상 사용자 정의 - heatmap
- 10. matplotlib의 색상 막대 레이블 정렬
- 11. matplotlib의 색상 맵 길이를 얻으십시오.
- 12. 코어 플롯 : 막대 그래프의 각 막대에 서로 다른 색상 설정
- 13. UITextView에 대한 높이 제한 설정
- 14. 맨드릴 webhook에 대한 제한 설정
- 15. while 함수에 대한 제한 설정
- 16. av_read_frame에 대한 시간 제한 설정
- 17. matplotlib의 크기 설정 ColorbarBase 객체
- 18. 진행률 막대에 고정 값 설정
- 19. matplotlib의 점에 대한 레이블
- 20. matplotlib의 색상 막대 글꼴 크기 변경
- 21. matplotlib의 과학 표기법의 오프셋 색상 변경
- 22. Matplotlib의 색상 막대 크기를 그래프와 일치하도록 설정하십시오.
- 23. Matplotlib의 픽셀 값을 기준으로 투명도 설정
- 24. Google 차트의 각 막대에 다른 색상 할당
- 25. 설정 제한
- 26. 설정 색상
- 27. 설정 색상
- 28. 설정 색상
- 29. Google 시각화 설정 차트 색상
- 30. 제한 범위 HTML 색상 선택기
좋아! 이 작동합니다. 나는 이것을 일찍 시도했지만 plt.contourf 내부의 v를 놓쳤습니다. 그것이 작동하지 않는 이유입니다. 매우 감사. –