파이썬

[matplotlib] pandas Bar plot에서 하나만 다른 색 칠하기

mcdn 2023. 2. 15. 17:59
반응형

 

Pandas에서 bar plot하나만 색 칠하고 싶을 때

먼저 위와 같이 자료를 불러왔고, 

 

한 열은 x 축, 다른 열은 y 축으로 지정한 그래프를 만들고자 한다. 

위의 예시는 광역지자체에 따른 자동차 등록 대수를 비교한 것이다. 

 

 

그런데, 여기서 '경기'를 강조하고 싶을 수도 있다. 

 

 

 

 

해결방안 : colors 파라미터에 리스트를 넣어보자
clrs = ['pink' if else 'blue for idx in x_col]

x_col = crash[crash.columns[1]]
clrs = ['pink' if (idx == '경기') else 'blue' for idx in x_col] 
crash.plot.bar(x=crash.columns[1], y=crash.columns[2], rot=0, color=clrs)
plt.show()

 

1. x_col 안에 x 축 리스트를 넣고 

2. clrs 변수 안에 강조하고 싶은 x 축 이름은 'pink', 그 외에는 'blue'를 넣겠다고 지정하면 된다. 

 

3. 그리고 plot.bar() 하이퍼 파라미터로 color = clrs 로 그 리스트 변수를 넣으면 된다. 

 

참고로 'pink' 대신 #FFB6C1 처럼 hex code를 넣어도 된다. 

 

 

만약 matplotlib에서 제공하는 string color를 쓰고 싶으면 matplotlib 공식 문서의 named colors라고 치면 여러 가지 나온다. 

 

https://matplotlib.org/stable/gallery/color/named_colors.html

 

List of named colors — Matplotlib 3.7.0 documentation

Note Click here to download the full example code List of named colors This plots a list of the named colors supported in matplotlib. For more information on colors in matplotlib see Helper Function for Plotting First we define a helper function for making

matplotlib.org

 

 

 

반응형