Matplotlib는 산점도 점을 선으로 연결-Python


102

두 개의 목록, 날짜 및 값이 있습니다. matplotlib를 사용하여 플로팅하고 싶습니다. 다음은 내 데이터의 산점도를 만듭니다.

import matplotlib.pyplot as plt

plt.scatter(dates,values)
plt.show()

plt.plot(dates, values) 선 그래프를 만듭니다.

하지만 제가 정말로 원하는 것은 점이 선으로 연결된 산점도입니다.

R에서와 유사 :

plot(dates, values)
lines(dates, value, type="l")

, 점을 연결하는 선으로 겹쳐진 점의 산점도를 제공합니다.

파이썬에서 어떻게합니까?


5
전화 show()를 모두 호출 한 후 scatter()plot()처음?

답변:


136

@Evert가 정답을 가지고 있다고 생각합니다.

plt.scatter(dates,values)
plt.plot(dates, values)
plt.show()

다음과 거의 같습니다.

plt.plot(dates, values, '-o')
plt.show()

또는 선호하는 선 스타일 .


3
'linestyle'은 (자랑스러운) matplotlib 문서를 통해 경로를 찾을 수있는 좋은 키워드 검색 단서였습니다.
Reb.Cabin

2
@aaronsnoswell 크기와 색상은 포인트에 대해서만 의미가 있으며, scatter첫 번째 예에 따라 를 통해 플롯 할 수 있습니다 . 질문은 다양한 선 두께 나 색상에 대해 아무 말도하지 않기 때문에 귀하의 비판은 실제로 약간 불공평하다고 생각합니다.
Hannes Ovrén

28

빨간색 선의 경우 포인트

plt.plot(dates, values, '.r-') 

또는 x 마커 및 파란색 선

plt.plot(dates, values, 'xb-')

당신, Evert와 kigurai는 괜찮은 것 같습니다. show ()를 호출하기 전에 scatter ()와 plot ()을 모두 호출 할 수 있습니다. 또는 Steve Barnes가 설명한대로 line 및 point 속성을 사용하여 plot ()을 호출하면됩니다. 감사합니다
brno792 2013

14

다른 답변에 제공된 것 외에도 키워드 "zorder"를 사용하면 다른 개체가 수직으로 그려지는 순서를 결정할 수 있습니다. 예 :

plt.plot(x,y,zorder=1) 
plt.scatter(x,y,zorder=2)

선 위에 산포 기호를 플로팅하는 반면

plt.plot(x,y,zorder=2)
plt.scatter(x,y,zorder=1)

산점 기호 위에 선을 그립니다.

예를 들어, zorder 데모를 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.