• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

iplot, plotly 그래프 크기

24.04.18 18:36 작성 조회수 75

0

주피터 노트북에서 그래프를 실행시키면 이렇게 세로가 항상 짧게 나오는건데 이건 코드상의 문제인가요? 아니면 주피터 노트북 설정의 문제일까요? 수업 내용 그대로 따라가고 있고 데이터도 동일한데 그래프 모양이 항상 직사각형이 나옵니다 ㅠ

답변 1

답변을 작성해보세요.

1

안녕하세요. 답변 도우미입니다.

그래프의 세로 길이가 짧게 나오는 문제는 주로 그래프를 그리는 코드에 지정된 그래프 크기 설정에 의해 발생합니다. 그래프의 크기를 명시적으로 조정하려면, 시각화 라이브러리에서 제공하는 크기 조정 함수를 사용하셔야 합니다.
예를 들어, Plotly를 사용하여 그래프의 크기를 조정하려면, layout 객체를 생성하고, 그 안에 widthheight 속성을 설정해야 합니다. Plotly의 iplot 함수 또는 plot 함수에 이 layout 객체를 인자로 전달하여 그래프의 크기를 조정할 수 있습니다.

예시코드는 다음과 같습니다.

```python

import plotly.graph_objs as go

from plotly.offline import iplot

# 그래프 데이터 생성

data = [go.Heatmap(

z=[[1, 20, 30],

[20, 1, 60],

[30, 60, 1]],

x=['Monday', 'Tuesday', 'Wednesday'],

y=['Morning', 'Afternoon', 'Evening']

)]

# 그래프 레이아웃 설정

layout = go.Layout(

title='Heatmap of turnover over the hour by day',

width=800, # 그래프의 가로 크기

height=600 # 그래프의 세로 크기

)

# 그래프 객체 생성

fig = go.Figure(data=data, layout=layout)

# 그래프 그리기

iplot(fig)

```

위 코드에서 widthheight를 자신의 데이터와 환경에 맞게 조정하여 그래프의 크기를 바꿀 수 있습니다. Plotly는 그래프의 크기를 픽셀 단위로 지정합니다.

iplot 함수의 경우의 예시는 다음과 같습니다.

아래 코드는 판다스 데이터프레임의 iplot 메소드를 사용하여 히트맵의 크기를 설정하는 예시입니다

```python

import cufflinks as cf

import pandas as pd

# Cufflinks를 오프라인 모드로 설정

cf.set_config_file(offline=True)

# 데이터프레임 생성

df = pd.DataFrame({

'A': [1, 2, 3, 4],

'B': [30, 35, 40, 45],

'C': [50, 55, 60, 65],

'D': [70, 75, 80, 85]

})

# iplot으로 히트맵 그리기

df.iplot(kind='heatmap', colorscale='reds', layout=go.Layout(width=800, height=500))

```

위의 예제에서 df.iplot 호출 시 kind 매개변수를 'heatmap'으로 설정하고, layout 매개변수 내에 그래프의 widthheight를 지정하여 크기를 조절할 수 있습니다. colorscale 매개변수는 히트맵의 색상 범위를 설정하는데 사용됩니다.

감사합니다.