inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

공공데이터로 파이썬 데이터 분석 시작하기

seaborn으로 그린 그래프의 x축 소수점 없애는 법

해결된 질문

3394

asdfs1

작성한 질문수 5

2

안녕하세요?

sns으로 boxplot 그래프를 그려봤습니다. 그런데 x축의 눈금이 정수가 아닌 실수로 표현됩니다.(예를 들면, 35가 35.0으로 표현) 소수점 없이 정수로 표현하는 방법이 있을까요?

답변 부탁드리겠습니다.

감사합니다.

numpy python pandas

답변 1

0

박조은

안녕하세요. 

seaborn  에서 수치데이터를 위한 그래프를 그릴때는 추정값을 표시를 해요.

그래서 정수가 아닌 실수로 표기가 되는데요.

lineplot 같은 경우에는 pointplot으로 그리면 정수가 실수로 표현되지 않아요.

그래서 정수가 실수로 표현되는 것은 그 그래프가 수치 데이터를 표현하기 위해서인데요.

연도나 월 같은 경우에도 숫자이기 때문에 lineplot으로 그래프를 그리면 이런 현상이 나타나요.

그런데 pointplot으로 그리면 정수로 표시가 되는데 pointplot을 범주형 데이터를 위한 그래프이기 때문이에요.

질문은 boxplot으로 주셨는데 boxplot 도 수치데이터를 표현하기 위해 사용해요.

그래서 실수로 표기가 되는데요.

seaborn은 matplotlib을 기반으로 만들어졌어요.

그래서 표현되는 수치를 변경하기 위해서는 matplotlib을 함께 사용해 주셔야 해요.

boxplot은 아니지만 아래의 예제를 참고해 보세요.

# 연도에 소숫점이 생기지 않게 표시하고자 한다면 ax.xaxis.set_major_locator를 사용해서 integer로 설정합니다.

from matplotlib.ticker import MaxNLocator

ax = plt.figure().gca()

df_last.groupby(["연도"])["평당분양가격"].mean().plot()

ax.xaxis.set_major_locator(MaxNLocator(integer=True))

0

asdfs1

안내해 주신 방법으로 위의 예제는 연도가 정수 처리가 되네요. 하지만 처음에 문의드렸던 boxplot에서는 여전히 실수로 표기가 됩니다,,,

아래처럼 2가지로 시도해 봤는데요, 혹시 제가 잘못 이해한 부분이 있을까요?

<시도 1>

from matplotlib.ticker import MaxNLocator

ax = plt.figure().gca()

sns.boxplot(data=df, x='과실율[%]', y='통원일수')

ax.xaxis.set_major_locator(MaxNLocator(integer=True))

<시도2>

from matplotlib.ticker import MaxNLocator

ax = sns.boxplot(data=df, x='과실율[%]', y='통원일수')

ax.xaxis.set_major_locator(MaxNLocator(integer=True))

0

박조은

안녕하세요.

과실율과 통원일수가 int인지 float인지 데이터 프레임의 일부와

데이터프레임의 info 정보를 스크린샷과 함께 올려주시면 답변에 도움이 될것 같아요.

0

asdfs1

데이터 타입이 float이라서 x축에 실수로 표시가 되었었네요. 데이터 타입을 int로 바꾸니까 문제현상이 사라졌습니다.

답변 감사합니다. 많은 도움이 되었습니다~

패키지 설치 에러 ydata-profiling

0

119

2

자세한 설명 부탁드려요 ㅜ

0

176

2

seaborn 라이브러리 호출하였으나 그래프가 안 그려져요

0

285

2

value_counts와 count 차이

0

340

2

안녕하세요 데이터 최신과 관련해서 문의드립니다.

0

204

3

scatterplot질문

0

122

1

강의 화면이 안나옵니다

0

164

2

4분12초 2013년부터 데이터가 없으면 어떻게하나요?..

0

187

2

에러 메시지

1

303

2

그래프 색이 동일하게 나옵니다.

0

308

2

시각화 라이브러리 비교

0

382

2

주피터 노트북 설치

0

390

1

2. 상가 기술통계 아웃풋 자료에서 오류가 납니다

0

226

1

14. distplot g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4) g.map(sns.distplot, "평당분양가격", hist=False, rug=True); 오류

0

178

1

group by agg function failed 에러

0

686

2

빈도수가 1000개 이상인 데이터를 따로 담을 때 코드 질문 있습니다.

0

288

2

주피터 노트북 실행 했는데 앞에 *가 생기고 결과가 나오지 않아요

0

363

3

get_string함수에서 문자 'nan'

0

200

1

seaborn X축 시작 지점 조정 질의의 건

0

212

1

14강 distplot 질의

0

289

1

nbextension 설치 및 셋팅 후 적용이 안되는 이슈

0

475

1

corr = df.corr() 입력시 오류

1

372

1

keyword grid_b is not recognized

0

334

1

%ls data 매직커맨드 사용시 한글 깨짐

0

290

1