2013-12-12 3 views
7

matplotlib 원형 차트의 선을 훨씬 가벼워 보이려고합니다.matplotlib 원형 차트의 선 속성 변경

enter image description here

는이 같은 rcparam를 사용하여 제안 this example 읽기 :

matplotlib.rcParams['text.color'] = 'r' 
matplotlib.rcParams['lines.linewidth'] = 2 

을하지만 난을 변경할 수 있지만 내가 너무 많은 조각을 가지고 있기 때문에 다음과 같이, 선이, 너무 두꺼운 텍스트 색상을 사용하는 경우 파이 조각 사이의 선 너비는 변경되지 않습니다. 슬라이스는 선 객체가 아니라 쐐기 객체에 의해 관리되기 때문에 그렇게 생각합니다. 웨지 테두리 스타일과 색상을 설정하는 방법이 있습니까?

고마워, 알렉스

답변

11

이 시도 : 당신 만 axes 객체가있는 경우, 또한

ax = plt.subplot(111) 
wedges, texts = ax.pie(np.abs(np.random.randn(5))) 

for w in wedges: 
    w.set_linewidth(2) 
    w.set_edgecolor('cyan') 

pie

과 파이의 웨지에 직접 액세스 할 수없는 당신 ax.patches에서 웨지를 검색 할 수 있습니다.

wedges = [patch for patch in ax.patches if isinstance(patch, matplotlib.patches.Wedge)] 
+0

파이를 호출 할 때'linewidth'를 넘길 수도 있습니다. – tacaswell

+0

@tcaswell은 matplotlib'1.3.1'에서 그걸 시도했지만, 작동하지 않았습니다. –

+1

예, 이상합니다/맞지 않습니다. 플롯 시그니처의 대부분은''kwarg'가 있지만''파이 ''는 없습니다. 오늘 시간이 있으면이 일을 할 수 있습니다. – tacaswell

5

임은이 파티에 늦게오고 있지만, 그냥, 파이 차트, 사용하는 대신 발견

plt.rcParams['lines.linewidth'] = 2 

당신은 사용할 수 있습니다

plt.rcParams['patch.linewidth'] = 0 

을 또한, 원형 차트 선 색상을 변경하려면 이것을 사용 :

plt.rcParams['patch.edgecolor'] = 'white' 

대신 :

plt.rcParams['line.color'] = 'white' 
+0

위의 기본 요구 사항보다 훨씬 직관적이고 쉬운 것입니다. 감사합니다. – Konrad

관련 문제