如何在 seaborn 中绘制多条线(附示例)
您可以使用以下基本语法在Python中使用seaborn在同一个图上绘制多条线:
import seaborn as sns sns. lineplot (data=df[[' col1 ', ' col2 ', ' col3 ']]
此特定示例将创建一条具有三条不同线路的路径。
以下示例展示了如何在实践中使用此语法。
示例:在 Seaborn 中绘制多条线
假设我们有以下 pandas DataFrame,其中包含四个不同零售商店(A、B、C 和 D)连续八年的销售额信息:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8],
' A ': [10, 12, 14, 15, 15, 14, 13, 18],
' B ': [18, 18, 19, 14, 14, 11, 20, 28],
' C ': [5, 7, 7, 9, 12, 9, 9, 4],
' D ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print (df)
year ABCD
0 1 10 18 5 11
1 2 12 18 7 8
2 3 14 19 7 10
3 4 15 14 9 6
4 5 15 14 12 6
5 6 14 11 9 5
6 7 13 20 9 9
7 8 18 28 4 12
我们可以使用 Seaborn 的lineplot()函数创建一个绘图,显示四行来表示每个商店每年的销售额:
import seaborn as sns #plot sales of each store as a line sns. lineplot (data=df[[' A ',' B ',' C ',' D ']])
每行代表四个商店之一的值。
左上角的图例表示哪种颜色对应哪个商店。
请注意,我们还可以使用调色板参数来指定要在图中使用的自己的颜色:
import seaborn as sns #plot sales of each store with custom colors sns. lineplot (data=df[[' A ', ' B ', ' C ', ' D ']], palette=[' red ', ' blue ', ' purple ', ' pink '])
请注意,行颜色现在与我们在调色板参数中指定的四种颜色相匹配。
如果你想让每条线都是实心的,你可以使用 pandas Melt()函数将 DataFrame 融化成长格式,然后使用以下语法来绘制线:
import seaborn as sns #plot sales of each store with custom colors sns. lineplot (x=' year ', y=' value ', hue=' variable ', data=pd. melt (df,[' year ']), palette=[' red ', ' blue ', ' purple ', ' pink '])
每条线现在都是实线,而不是具有自己的线条样式。
注意:如果您在将seaborn导入Jupyter笔记本时遇到困难,您可能需要先运行%pip install seaborn命令。
其他资源
以下教程解释了如何在 Seaborn 中执行其他常见任务: