散点图
相关函数
matplotlib.pyplot.scatter() 绘制散点图
seaborn.scatterplot() 绘制散点图
plotly.express.scatter()
seaborn和maplotlib散点图最多可以展示4维特征,分别是二维坐标的位置,颜色,大小
ax = sns.scatterplot(data=df,
x="feature1",
y="feature2",
hue = "feature3",
size = "feature4",
palette = 'RdYlBu_r')
plotly散点图可以展示5维特征,与前两者相比增加了文本(text)
fig = px.scatter(df, x="a", y="b",
text = "c", color = "c",size='d',
width = 650, height = 600)
平面线图
线图
散点顺序连线的结果就是线图,所以用 Python 第三方库绘制的曲线本质上也是折线图,只是可能使用了插值让线条更加平滑。
相关函数:
plt.plot()
在绘制线图时,默认散点之间两点顺序连线。这就意味着,任意顺序两点之间的线段是通过**线性插值 (linear interpolation) **方法得到。
但是,有很多场合,我们需要避免“线性插值”,而采用阶跃方法绘制图。
matplotlib.pyplot.step()
这个函数有三种设置:‘pre’、‘post’、‘mid’。
火柴图
火柴图 (stem plot),也称火柴梗图、脊柱图,常用来可视化离散数据序列和趋势。
火柴图垂直线所在横轴位置代表样本点的位置,圆点纵轴高度表示样本点的值。
plt.stem(x=x,y=y)
参考线
平面线图中,我们经常需要添加水平或竖直参考线。
ax.hlines(y=1, xmin=np.pi/2 - 1, xmax=np.pi/2 + 1,
linewidth=1, color='r', ls = '--')
# 绘制一条水平(horizontal)线,位置在y=1
# 左右端点是pi/2-1~pi/2+1
# 线条宽度为1,颜色是红色,线条样式是虚线
ax.axvline(x = np.pi, color = 'r', ls = '--')
# 竖直线(vertical)
各种平面几何图形
◄ matplotlib.patches.Arc() 绘制弧线
◄ matplotlib.patches.Arrow() 绘制箭头
◄ matplotlib.patches.Circle() 绘制正圆
◄ matplotlib.patches.Ellipse() 绘制椭圆
◄ matplotlib.patches.FancyBboxPatch() 绘制 Fancy 矩形框
◄ matplotlib.patches.Polygon() 绘制多边形
◄ matplotlib.patches.Rectangle() 绘制长方形
◄ matplotlib.patches.RegularPolygon() 绘制正多边形
等高线
等高线图是一种展示三维数据的方式,其中相同数值的数据点被连接成曲线,形成轮廓线。
ax.contour(xx, yy, ff,
levels = np.linspace(-8,9,18),
cmap = 'RdYlBu_r',
linewidths = 1)
# 一个以xx,yy为自变量的二元函数ff,展示ff==levels时的等高线
matplotlib.pyplot.contourf() # 绘制<填充>等高线图
热图
热图 (heatmap),也叫热力图,在展示数据、矩阵分解时,我们常用热图可视化矩阵。
虽然,matplotlib 中也有绘制热图的工具;但是推荐使用 seaborn 中的 heatmap 函数。这个函数绘制热图更方便。
网格曲面图
用于可视化三维图像
fig, ax = plt.subplots(subplot_kw={'projection': '3d'})# 子图必须为3d
ax.plot_wireframe(xx,yy, zz,
color = [0.5,0.5,0.5],
linewidth = 0.25)