python可视化:常见图

散点图

相关函数

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值