LoginSignup
3
6

More than 5 years have passed since last update.

seaborn.lineplotで破線プロット

Posted at

最近pythonで結果のプロットにはseabornを使ってます。
手軽にきれいなグラフを書けて重宝するのですが、pandasと密結合なので、seaborn wayに従わないと割と簡単なことができなかったりします。
ということで、サクッと破線プロットするのができなかったのでメモ。

とりあえずこうすればいいというコード

image.png

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にうpしました

ポイント

hueとstyleは両方設定してもいい

ちなみにdashesを設定しないでhueとstyleに両方labelを設定すると

image.png

このように、色もスタイルも違う結果になります

dashesを機能させるためにはstyleを設定しなければいけない

"label毎にstyleを変えるが、そのstyleは両方一緒だよ"ってコードにしなきゃいけないってことですね。面倒。dashes=(2,2)とかしたらすべての線を破線にしてくれればいいのに。

参考URL

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6