seaborn.lineplot에 점선 그리기

2746 단어 seabornPython
최근python에서 결과의 그림은 seabrn을 사용합니다.
예쁜 도표를 간단하게 쓰는 것은 편리하지만, 판다스와 밀접하게 결합되어 있기 때문에 seabrnway를 따르지 않으면 간단하게 완성할 수 없다.
그래서 점선을 제대로 못 그려서 적어놨어요.

아무튼 이렇게 하시면 됩니다. 이런 코드.


seaborn.lineplot(
    data=data, x="x", y="y",
    style="label",  # labelによってstyleを変えるよ、とする。これがないとdashesが効かない
    hue="label",  # labelによって色を変えるよ
    dashes=[(2, 2)] * len(data["label"].value_counts())  # labelの種類数分だけ破線スタイル(2,2)を用意
)
[{x: 0, y:1, label: "cos"} ... {x: pi, y:-1, label: "cos"}]라는 데이터가 있다고 가정해 보세요.
실행 코드는 전체적으로 gist

주안점


허와 스타일을 동시에 설정할 수 있어요.


그나저나 다스를 설정하지 않고 허와 스타일에 두 개의 label을 설정하면

이렇게 하면 색깔과 스타일이 모두 다른 결과를 얻을 수 있다

dashes의 기능을 발휘하기 위해서는 반드시 스타일을 설정해야 한다


"모든 label은 스타일을 바꿔야 하지만 스타일 두 개는 똑같다"는 코드는 필수적이다.귀찮다만약 다스=(2,2)라면 모든 실을 허선으로 만들었으면 좋겠다.

참조 링크


  • https://stackoverflow.com/questions/51963725/how-to-plot-a-dashed-line-on-seaborn-lineplot
  • 라벨이 없는 단순한 2차원 데이터의 해결례는 이 대답과 같지만, 이번에는 라벨이 달린 DataFrame으로 해결하려고 애썼다
  • 좋은 웹페이지 즐겨찾기