GIS 데이터베이스에서 데이터를 읽고 mpl_toolkits.basemap 및 matplotlib를 사용하여지도를 만듭니다. 일부 데이터는 복잡한 다각형 (외부 링과 내부 링으로 정의)을 만듭니다. 그러나 구멍이있는 다각형을 만드는 방법을 추적 할 수 없었습니다. matplotlib로도 가능합니까? 이 이미지를 만드는 또 다른 방법이 있습니까?복잡한 다각형을 그립시키는 방법은 무엇입니까?
0
A
답변
1
오래된 질문처럼 구멍을 의미 할 수 있습니다,하지만 ...
그냥 명시 적으로 외부와 내부의 경계를 닫고 함께 합계. 기술적으로 솔기가 생기 겠지만, 색상 인수를 제공하는 경우에는이 항목이 표시되지 않습니다. 정확히 왜 그런지는 알 수 없습니다.
#!/usr/bin/env python3
import matplotlib.pyplot as plt
# a 4x4 box (counterclockwise)
ext_x = [2, -2, -2, 2, 2]
ext_y = [2, 2, -2, -2, 2]
# a 2x2 hole in the box (clockwise)
int_x = [item/2.0 for item in ext_x][::-1]
int_y = [item/2.0 for item in ext_y][::-1]
# if you don't specify a color, you will see a seam
plt.fill(ext_x+int_x, ext_y+int_y, color='blue')
plt.show()
0
fill_between()은 어떻습니까?
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.fill_between
당신은 당신의 그림 하나 fill_between을 구축 할 수 있어야합니다 나는 다각형을 해낼 정확히 모르겠지만,이
import numpy as np
import matplotlib.pylab as plt
x=np.arange(-3,3.5,.5)
y1=-x**2+9
y2=-x**2+10
plt.fill_between(x,y1,y2)
처럼 작동 한 번에 네가 원하는 걸 가질 때까지.
또는 가능하면 path. 이 screenshots을 확인하고 가까운 것으로 보이는 지 확인하십시오.
편집 :이
import numpy as np
import matplotlib.pylab as plt
x=np.arange(-3,3.5,.5)
y1=-x**2+9
y2=0
plt.fill_between(x,y1,y2)
circ=plt.Circle((0,4),2,color='w')
ax=plt.gca()
ax.add_patch(circ)
plt.show()
4
matplotlib에 구멍이있는 폴리곤을 실제로 플로팅 할 수 있습니다. 트릭은 Path와 PathPatch를 사용하는 것입니다. 예를 들면 다음에 this example
import matplotlib.pyplot as plt
from matplotlib.patches import PathPatch
from matplotlib.path import Path
axes = plt.gca()
path = Path([(2,2) ,(2,-2) ,(-2,-2) ,(-2,2) ,(0,0) ,(1,0) ,(-1,1) ,(-1,-1) ,(0,0) ],
[Path.MOVETO,Path.LINETO,Path.LINETO,Path.LINETO,Path.CLOSEPOLY,Path.MOVETO,Path.LINETO,Path.LINETO,Path.CLOSEPOLY])
patch = PathPatch(path)
axes.set_xlim(-3,3)
axes.set_ylim(-3,3)
axes.add_patch(patch)
plt.savefig('example.png')
plt.close('all')
상기 결과 (게시 할 수있는 이미지 아직). 권선 순서가 중요합니다.
관련 문제
- 1. 복잡한 다각형을 분해하는 알고리즘
- 2. Mathemathica : 오류 막대를 그립시키는 방법은 무엇입니까?
- 3. 점 집합을 둘러싸는 가장 복잡한 볼록 다각형을 찾는 방법은 무엇입니까?
- 4. 구멍이있는 다각형을 나타내는 방법은 무엇입니까?
- 5. Blend를 사용하여 다각형을 투명하게 만드는 방법은 무엇입니까?
- 6. 마우스 클릭을 사용하여 다각형을 복사하는 방법은 무엇입니까?
- 7. 명시 적 방정식으로 다각형을 구성하는 방법은 무엇입니까?
- 8. 점진적으로 보이지 않는 다각형을 만드는 방법은 무엇입니까?
- 9. 다각형을 사용하여 벽돌을 자르는 방법은 무엇입니까?
- 10. 다각형을 채우기위한 더 좋은 방법은 무엇입니까?
- 11. 자기 교차로로 다각형을 수리하는 방법은 무엇입니까?
- 12. Java로 점 주위의 다각형을 회전하는 방법은 무엇입니까?
- 13. OpenLayers - 다중 다각형을 그리는 방법은 무엇입니까?
- 14. Android에서 삼각형, 사각형, 다각형을 만드는 방법은 무엇입니까?
- 15. asp.net에서 다각형을 그립니다.
- 16. 복잡한 모양을 정의하는 방법은 무엇입니까?
- 17. 다각형을 "스냅하는"
- 18. Iphone/Ipad : 직사각형에 불규칙한 다각형을 그리는 가장 빠른 방법은 무엇입니까?
- 19. 사용자가 HTML 사이트에서 다각형을 그리고 저장하도록하는 방법은 무엇입니까?
- 20. C++을 사용하여 채워진 다각형을 그리는 방법은 무엇입니까?
- 21. Openlayers 마우스 오버시에만 다각형을 표시하고 마우스 아웃시 숨기는 방법은 무엇입니까?
- 22. Canvas의 filltext()에서 텍스트 다각형을 제거하는 방법은 무엇입니까?
- 23. C# .net에서 모양 파일 위에 다각형을 그리는 방법은 무엇입니까?
- 24. 음의 다각형과 내부 음화 다각형을 결합하는 방법은 무엇입니까?
- 25. OpenGL-ES 2.0에서 투명 다각형을 그리는 방법은 무엇입니까?
- 26. Illustrator에서 Java로 다각형을 가져 오는 가장 간단한 방법은 무엇입니까?
- 27. 연결 상태를 유지하면서 연결된 다각형을 부드럽게 만드는 방법은 무엇입니까?
- 28. 캔버스에서 다수의 다각형을 사용하여 성능과 메모리 사용을 향상시키는 방법은 무엇입니까?
- 29. 이 방법을 편집하여 javacv를 사용하여 다각형을 그리는 방법은 무엇입니까?
- 30. 선이 교차하지 않도록 C++에서 다각형을 그리는 방법은 무엇입니까?
이것은 다각형을 확실히 생성하지만 구멍이있는 것은 아닙니다. –
나는 "그 안에 구멍"을 이해하지 못한다고 생각합니다. 너를 속이기로 한 줄 알았는데. 구멍의 크기는 내가 상상했던 것처럼 y1과 관련하여 y2를 어디에 두 었는지에 따라 결정됩니다. – Matt