使用 Seaborn 线图的数据可视化
先决条件:
- 海伯恩
- Matplotlib
以图形方式呈现数据以发出一些信息称为数据可视化。它基本上是一个图像,可以帮助人们解释数据所代表的内容并详细研究它及其性质。逐行处理大规模数据是一项极其繁琐的任务,因此数据可视化是一种理想的选择。
Seaborn 是一个基于 matplotlib 的Python库,用于数据可视化。它提供了一种以统计图形格式呈现数据的媒介,作为传递某些信息的信息丰富且有吸引力的媒介。
安装
像任何其他Python库一样,seaborn 可以使用 pip 轻松安装:
pip install seaborn
该库是 Anaconda 发行版的一部分,如果您的 IDE 受 Anaconda 支持,通常只需通过导入即可工作,但也可以通过以下命令安装:
conda install seaborn
单线图
单线图使用连接数据点的线在 xy 轴上显示数据。为了获得图形,Seaborn 带有一个内置函数来绘制一个名为 lineplot() 的线图。
Syntax: lineplot(x,y,data)
where,
x– data variable for x-axis
y- data variable for y-axis
data- data to be plotted
例子:
使用的数据集-畅销书(该图显示了与亚马逊畅销小说相关的数据。)
Python3
# import modules
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
# import data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
# selcting required rows and columns
data = data.iloc[2:10, :]
# plotting a single line graph
sn.lineplot(x="Year", y="User Rating", data=data)
# displaying the plot
plt.show()
Python
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
sn.lineplot(x="kepid", y="koi_duration", data=data, hue="koi_score")
sn.set(style="darkgrid")
plt.show()
Python3
# import modules
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
# import data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
# select required data
data = data.iloc[2:10, :]
# plot data with different color scheme
sn.lineplot(x="kepid", y="koi_period", data=data, hue="koi_score")
# display plot
plt.show()
Python3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
# using just style
sn.lineplot(x="kepid", y="koi_period", data=data, style="koi_score")
plt.show()
# using style and hue
sn.lineplot(x="kepid", y="koi_period", data=data,
hue="koi_score", style="koi_score")
plt.show()
Python3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
# using just style
sn.lineplot(x="kepid", y="koi_period", data=data, size="koi_score")
plt.show()
# using style, size and hue
sn.lineplot(x="kepid", y="koi_period", data=data,
size="koi_score", hue="koi_score", style="koi_score")
plt.show()
Python3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
sn.lineplot(x="kepid", y="koi_duration", data=data, err_style="band")
plt.show()
Python3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10,:]
sn.lineplot(x = "kepid", y = "koi_period",data=data, hue="koi_score", palette="pastel")
plt.show()
输出:
设置不同的样式
也可以使用 seaborn 模块本身下可用的 set()函数以不同的背景样式显示线图。
句法:
set()
属性:
- 上下文:绘制上下文参数
- 风格:定义风格
- Palette:设置调色板
- 字体
- Font_scale : 设置字体大小
- Color_codes:如果设置为 True,则激活调色板,可以从调色板重新映射颜色的简写符号。
- rc : 覆盖上述参数的参数
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
Python
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
sn.lineplot(x="kepid", y="koi_duration", data=data, hue="koi_score")
sn.set(style="darkgrid")
plt.show()
输出:
多线图
功能有时会要求数据相互比较,对于这种情况,可以绘制多个图。多线图有助于区分数据,以便可以针对某些其他数据进行研究和理解。每个线图基本上都遵循单线图的概念,但在屏幕上的呈现方式有所不同。可以通过更改颜色、线型、大小或全部列出来使每个数据的线图不同,并且可以使用比例尺来读取它。
To differentiate on the basis of color
lineplot(x,y,data,hue)
where, hue decides on basis of which variable the data is supposed to be displayed
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
蟒蛇3
# import modules
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
# import data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
# select required data
data = data.iloc[2:10, :]
# plot data with different color scheme
sn.lineplot(x="kepid", y="koi_period", data=data, hue="koi_score")
# display plot
plt.show()
To differentiate on the basis of line style
lineplot(x,y,data,style)
where, style decides on basis of which variable the data is supposed to be displayed
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
蟒蛇3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
# using just style
sn.lineplot(x="kepid", y="koi_period", data=data, style="koi_score")
plt.show()
# using style and hue
sn.lineplot(x="kepid", y="koi_period", data=data,
hue="koi_score", style="koi_score")
plt.show()
输出:
To differentiate on the basis of size
lineplot(x,y,data,size)
where, size decides on basis of which variable the data is supposed to be displayed
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
蟒蛇3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
# using just style
sn.lineplot(x="kepid", y="koi_period", data=data, size="koi_score")
plt.show()
# using style, size and hue
sn.lineplot(x="kepid", y="koi_period", data=data,
size="koi_score", hue="koi_score", style="koi_score")
plt.show()
输出:
线图中的误差线
误差线用于显示线图中的误差率,可用于研究图中的区间。为此,可以使用 err_style 属性。这仅需要两个属性,带或条。
句法:
lineplot(x,y,data,err_style)
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
蟒蛇3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10, :]
sn.lineplot(x="kepid", y="koi_duration", data=data, err_style="band")
plt.show()
输出:
沿线图的调色板
线条描绘的配色方案可以使用调色板属性和色调进行更改。可以选择使用调色板支持的不同颜色 - SEABORN COLOR PALETTE
句法:
lineplot(x,y,data,hue,palette)
例子:
使用的数据集-累积(数据显示了由美国宇航局编制的系外行星空间研究数据集。)
蟒蛇3
import seaborn as sn
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
data = data.iloc[2:10,:]
sn.lineplot(x = "kepid", y = "koi_period",data=data, hue="koi_score", palette="pastel")
plt.show()
输出: