[PYTHON] Python pandas, 여러 행의 플로팅 옵션
PYTHONPython pandas, 여러 행의 플로팅 옵션
팬더 데이터 프레임에서 여러 라인을 플롯하고 각 라인마다 다른 옵션을 설정하고 싶습니다. 나는 뭔가를하고 싶다.
testdataframe=pd.DataFrame(np.arange(12).reshape(4,3))
testdataframe.plot(style=['s-','o-','^-'],color=['b','r','y'],linewidth=[2,1,1])
그러면 몇 가지 오류 메시지가 나타납니다.
또한 나에게 이상한 것 같은 더 많은 것들이있다.
누군가가 도울 수 있기를 바랍니다. 감사합니다.
해결법
-
==============================
1.너 너무 가까워!
너 너무 가까워!
스타일 목록에서 색상을 지정할 수 있습니다.
import numpy as np import matplotlib.pyplot as plt import pandas as pd testdataframe = pd.DataFrame(np.arange(12).reshape(4,3), columns=['A', 'B', 'C']) styles = ['bs-','ro-','y^-'] linewidths = [2, 1, 4] fig, ax = plt.subplots() for col, style, lw in zip(testdataframe.columns, styles, linewidths): testdataframe[col].plot(style=style, lw=lw, ax=ax)
플롯 메소드는 matplotlib.axes 객체를 취할 수 있으므로 다음과 같이 여러 번 호출 할 수 있습니다 (원하는 경우).
import numpy as np import matplotlib.pyplot as plt import pandas as pd testdataframe1 = pd.DataFrame(np.arange(12).reshape(4,3), columns=['A', 'B', 'C']) testdataframe2 = pd.DataFrame(np.random.normal(size=(4,3)), columns=['D', 'E', 'F']) styles1 = ['bs-','ro-','y^-'] styles2 = ['rs-','go-','b^-'] fig, ax = plt.subplots() testdataframe1.plot(style=styles1, ax=ax) testdataframe2.plot(style=styles2, ax=ax)
이 경우 실용적이지는 않지만 나중에 개념이 유용 할 수 있습니다.
-
==============================
2.데이터 프레임 테스트 데이터 프레임 고려
데이터 프레임 테스트 데이터 프레임 고려
testdataframe = pd.DataFrame(np.arange(12).reshape(4,3)) print(testdataframe) 0 1 2 0 0 1 2 1 3 4 5 2 6 7 8 3 9 10 11
스타일을 아래 정의 된 스타일에서와 같이 단일 문자열 목록에 결합 할 수 있습니다. 또한 선 너비를 lws로 정의 할 것입니다.
styles=['bs-', 'ro-', 'y^-'] lws = [2, 1, 1]
testdataframe에서 plot 메서드를 사용하여 목록 스타일을 style 매개 변수에 전달할 수 있습니다. 우리는 사전을 통과 할 수도 있었을 것입니다 (그리고 아마도 다른 것들도).
그러나 선 너비는 쉽게 처리되지 않습니다. 먼저 AxesSubplot 객체를 캡처하고 선 너비를 설정하는 선 속성을 반복합니다.
ax = testdataframe.plot(style=styles) for i, l in enumerate(ax.lines): plt.setp(l, linewidth=lws[i])
-
==============================
3.그래서 저는 그 대답이 같은 논쟁에서 색깔과 스타일을 전달하는 것에 있다고 생각합니다. 다음 예제는 pandas 0.19.2에서 작동합니다.
그래서 저는 그 대답이 같은 논쟁에서 색깔과 스타일을 전달하는 것에 있다고 생각합니다. 다음 예제는 pandas 0.19.2에서 작동합니다.
testdataframe=pd.DataFrame(np.arange(12).reshape(4,3)) testdataframe.plot(style=['r*-','bo-','y^-'], linewidth=2.0)
불행히도 matplotlib의 입력으로 여러 줄의 너비를 전달하는 것은 불가능합니다.
from https://stackoverflow.com/questions/14178194/python-pandas-plotting-options-for-multiple-lines by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] matplotlib 플롯에서 저장 버튼이 작동하지 않는 이유는 무엇입니까? (0) | 2018.11.17 |
---|---|
[PYTHON] is_authenticated ()가 TypeError를 발생시킵니다. TypeError : 'bool'객체를 호출 할 수 없습니다. [duplicate] (0) | 2018.11.17 |
[PYTHON] Python으로 MySQL 형식으로 결과 인쇄 (0) | 2018.11.17 |
[PYTHON] 패키징을 위해 console_script 진입 점 인터프리터 변경 (0) | 2018.11.17 |
[PYTHON] pycharm에서 Conda 환경 사용 (0) | 2018.11.17 |