2016-08-09 2 views
2

나는 두 개의 부드러운 의존성 y1 (x)와 y2 (x)를 가지고 있는데, 여기서 x는 불규칙하게 분포되어있다. 나는 이러한 의존성을 점선 (linestyle = ':')으로 기술하기 바란다.Matplotlib : 도트 (점)로 구성된 점선을 만드는 방법은 무엇입니까?

import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 

x = [0, 1, 2, 3, 5, 7, 13, 14] 
y1 = [3, 5, 6, 8, 7, 6, 9, 10] 
y2 = [1, 7, 8, 10, 14, 18, 20, 23] 

ax.plot(x, y1, 
     linestyle = ':', 
     linewidth = 4, 
     color = 'Green') 

ax.plot(x, y2, 
     linestyle = ':', 
     linewidth = 4, 
     color = 'Blue') 

ax.set_ylabel('y(x)') 
ax.set_xlabel('x') 

plt.savefig("./test_dotted_line.pdf") 

내가 dashes = [2,2] (및 다른 조합)과 dash_capstyle = 'round' 연주,하지만 결과는 좋지 같습니다

여기에 코드입니다 : 내가 뭘는 * .pdf 파일에서 이제 얻을 것은 here을 표시됩니다.

'원'점으로 이루어진 점선이있을 수 있습니까?

+1

실행 가능하고 동일한 동작을하는 코드를 보여줄 수 있습니까? – DavidG

+0

나는 당신의 요점을 제대로 이해하지 못했습니다. '같은 행동'이란 무엇을 의미합니까? – glanz

+0

나를 위해'linestyle = ":"'은 점선을 나타냈다 –

답변

0

linewidth을 삭제하십시오. 그런 다음 작은 사각형을 인쇄합니다 - 충분합니까?

dash_capstyle = "round"으로 정사각형을 반올림 할 수도 있습니다.

+0

물론, 나는 그걸 가지고 놀았습니다. 그리고 '동그라미'점이있을 수 없었습니다. – glanz

0

이 트릭

ax.plot(x, y1, linestyle = '--', 
    linewidth = 4, 
    color = 'Green', 
    dashes=(0.5, 5.), 
    dash_capstyle='round' 

)

에게 않습니다 당신은 사용 대시, 설정 dash_capstyle = '라운드'가 다음 크기의 점을 얻을 수있는 대시 = (ink_points_on, ink_points_off)로 재생 네가 원해.

관련 문제