Python Plotting : matplotlib.pyplot을 마커 스타일을 강제로 만들 수 있습니까?

StackOverflow https://stackoverflow.com/questions/544542

  •  23-08-2019
  •  | 
  •  

문제

나는 Python에서 많은 데이터 포인트 (수천)를 플로팅하려고합니다. matplotlib 따라서 각 마커가 매우 작고 정확해야합니다. 가장 작은 간단한 마커를 어떻게 얻을 수 있습니까? 이 명령을 사용하여 내 데이터를 플로팅합니다.

 matplotlib.pyplot( x , y ,'.',markersize=0.1,linewidth=None,markerfacecolor='black')

그런 다음 나는 그것을 볼 수 있습니다 pl.show() 그런 다음 저장하십시오. 또는 직접 사용하십시오 plt.savefig('filename.ps') 그것을 저장하기 위해 코드에서. 문제는 이것입니다 : 내가 사용할 때 pl.show() GUI에서 파일을 보려면 작은 작은 검은 자국으로 멋지게 보이지만 show() 파일에 gui 또는 직접 사용합니다 savefig 그런 다음 봅니다 ps 나는 그것을 다르게 만들었습니다! 각 마커는 그 주위에 약간의 파란색 후광을 얻었습니다 (마치 기본 파란색 선과 연결하기 위해 각 지점에서 시작한 것처럼) 스타일은 모두 잘못되었습니다. 저장 될 때 왜 스타일이 바뀌는가? Python이 마커 스타일을 강제하는 것을 막으려면 어떻게해야합니까? 그리고 네, 나는 다음과 같은 대체 패키지를 보았습니다. 카이로 플롯, 그러나 지금은 Matplotlib를 계속 사용하고 싶습니다.

업데이트: PNG 로의 저장은 먼저 색상을 괜찮게 만들지 만 이미지를 다시 저장하고 싶을 때 이미지의 변환을 강요한다는 것이 밝혀졌습니다. .ps 나중에 (PDF에 포함시키기 위해) 품질을 잃습니다. 파일의 벡터 특성을 어떻게 보존하고 올바른 형식을 얻습니까?

도움이 되었습니까?

해결책

멋진 벡터화 된 출력의 경우 사용하지 마십시오 '.' 마커 스타일. 예를 들어 사용하십시오 'o' (원) 또는 's' (정사각형) (참조 help(plot) 옵션의 경우) 및 설정을 설정하십시오 markersize 적절하게 작은 것에 대한 키워드 논쟁, 예를 들어 :

plot(x, y, 'ko', markersize=2)
savefig('foo.ps')

저것 '.' (포인트)는 덜 멋진 결과를 생성합니다. ~해야 한다 "포인트"는 벡터 그래픽 형식의 의미입니까?

다른 팁

당신은 시도 했습니까? ',' 포인트 모양? 그것은 "생성"픽셀"(모양 대신 작은 점).

당신은 함께 놀 수 있습니다 markersize 이 모양으로 옵션이 있습니까?

그렇지 않은 경우 래스터 라이징 엔진에 저장을 시도해야합니다. PNG 파일에 저장하고 수정되는지 확인하십시오. 벡터 플롯이 필요한 경우 PDF로 저장하고 외부 유틸리티로 변환하십시오. 또한 AGG 또는 PDF 엔진을 저장하고 외부로 변환하여 해결 된 PS 엔진에 문제가있었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top