산점도, Scattergl 플롯 및 거품 형 차트
이 장에서는 Scatter Plot, Scattergl Plot 및 Bubble Chart에 대한 세부 정보를 강조합니다. 먼저 산점도에 대해 공부하겠습니다.
산포도
산점도는 다음을 위해 사용됩니다. plot data하나의 변수가 다른 변수에 어떻게 영향을 미치는지 보여주기 위해 수평 및 수직 축에있는 점. 데이터 테이블의 각 행은 해당 위치가X 과 Y 축.
그만큼 scatter() graph_objs 모듈의 방법 (go.Scatter)분산 추적을 생성합니다. 여기,mode속성은 데이터 포인트의 모양을 결정합니다. 모드의 기본값은 데이터 포인트를 연결하는 연속 선을 표시하는 선입니다. 설정된 경우markers, 채워진 작은 원으로 표시된 데이터 포인트 만 표시됩니다. 모드가 '선 + 마커'로 지정되면 원과 선이 모두 표시됩니다.
다음 예제에서는 데카르트 좌표계에서 무작위로 생성 된 세 세트의 점에 대한 산점 추적을 플로팅합니다. 다른 모드 속성으로 표시된 각 트레이스는 아래에 설명되어 있습니다.
import numpy as np
N = 100
x_vals = np.linspace(0, 1, N)
y1 = np.random.randn(N) + 5
y2 = np.random.randn(N)
y3 = np.random.randn(N) - 5
trace0 = go.Scatter(
x = x_vals,
y = y1,
mode = 'markers',
name = 'markers'
)
trace1 = go.Scatter(
x = x_vals,
y = y2,
mode = 'lines+markers',
name = 'line+markers'
)
trace2 = go.Scatter(
x = x_vals,
y = y3,
mode = 'lines',
name = 'line'
)
data = [trace0, trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
출력 Jupyter notebook cell 다음과 같습니다-
Scattergl 플롯
WebGL (웹 그래픽 라이브러리)는 대화 형 렌더링을위한 JavaScript API입니다. 2D 과 3D graphics플러그인을 사용하지 않고 호환되는 웹 브라우저 내에서. WebGL은 다른 웹 표준과 완전히 통합되어 그래픽 처리 장치 (GPU)가 이미지 처리 사용을 가속화 할 수 있습니다.
Plotly로 WebGL을 구현할 수 있습니다. Scattergl()속도 향상, 상호 작용 향상 및 더 많은 데이터를 그릴 수있는 능력을 위해 Scatter () 대신. 그만큼go.scattergl() 많은 수의 데이터 포인트가 관련 될 때 더 나은 성능을 제공하는 기능.
import numpy as np
N = 100000
x = np.random.randn(N)
y = np.random.randn(N)
trace0 = go.Scattergl(
x = x, y = y, mode = 'markers'
)
data = [trace0]
layout = go.Layout(title = "scattergl plot ")
fig = go.Figure(data = data, layout = layout)
iplot(fig)
출력은 아래에 언급되어 있습니다.
거품 형 차트
거품 형 차트는 3 차원 데이터를 표시합니다. 관련 데이터의 3 차원이있는 각 엔티티는disk (버블) 디스크를 통해 두 차원을 표현하는 xy location세 번째는 그 크기입니다. 거품의 크기는 세 번째 데이터 시리즈의 값에 의해 결정됩니다.
Bubble chart데이터 포인트가 거품으로 대체되는 산점도의 변형입니다. 데이터에 아래와 같이 3 차원이있는 경우 거품 형 차트를 만드는 것이 좋습니다.
회사 | 제품 | 판매 | 공유 |
---|---|---|---|
ㅏ | 13 | 2354 | 23 |
비 | 6 | 5423 | 47 |
씨 | 23 | 2451 | 30 |
버블 차트는 go.Scatter()자취. 위의 데이터 시리즈 중 두 가지는 x 및 y 속성으로 제공됩니다. 세 번째 차원은 세 번째 데이터 시리즈를 나타내는 크기와 함께 마커로 표시됩니다. 위에서 언급 한 경우 우리는products 과 sale 같이 x 과 y 속성 및 market share 같이 marker size.
Jupyter 노트북에 다음 코드를 입력합니다.
company = ['A','B','C']
products = [13,6,23]
sale = [2354,5423,4251]
share = [23,47,30]
fig = go.Figure(data = [go.Scatter(
x = products, y = sale,
text = [
'company:'+c+' share:'+str(s)+'%'
for c in company for s in share if company.index(c)==share.index(s)
],
mode = 'markers',
marker_size = share, marker_color = ['blue','red','yellow'])
])
iplot(fig)
출력은 다음과 같습니다.