大家平时为了直观地显示数据的分布情况,在画散点图的时候,简单地把数据点用圆点标出来,像这样:
这样:
还有这样:
然而今天我想给大家展示的散点图,或许没有那么直观地反映数据的分布情况,不够实用,但是真的很美很艺术,每个的点的颜色和大小都不一样,形状也是多变的。比如五角星的散点图:
圆点的散点图:
Y形的散点图:
等等还有很多,那么这些漂亮的形状是怎么画出来的呢?其实代码很简单:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
这里用到一个matplotlib.pyplot子库中画散点图的函数
matplotlib.pyplot.scatter(x, y, s=20, c=None, marker='o',
cmap=None, norm=None, vmin=None, vmax=None, alpha=None,
linewidths=None, verts=None, edgecolors=None, hold=None,
data=None, **kwargs)
这个函数接收的参数很多,有默认值的平时也不需要我们指定,是可选的,这次我们用到的除了基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状。在例子里指定透明度为0.5,c和s是随机生成的,我们要改变的是marker的值,marker有很多值可供选择,下表展示了在例子代码的基础上,改变marker的值后的效果:
| marker | result |
|---|---|
| ”.” |
|
| ”,” |
|
| “o” |
|
| “v” |
|
| “^” |
|
| “<” |
|
| “>” |
|
| “1” |
|
| “2” |
|
| “3” |
|
| “4” |
|
| “8” |
|
| “s” |
|
| “p” |
|
| “*” |
|
| “h” |
|
| “H” |
|
| “+” |
|
| “x” |
|
| “D” |
|
| “d” |
|
| “ | ” |
| “_” |
|
| “None” |
没错就是什么都没有。。。 |
| “$…$” |
|
|
(numsides, style, angle) eg:(9,0, 30) 注:numsides是边的个数, angle是旋转角度, style只有0,1,2,3四个值 |
|
|
(numsides, style, angle) eg:(9,1, 30) |
|
|
(numsides, style, angle) eg:(9,2, 30) |
|
|
(numsides, style, angle) eg:(9,3, 30) 注:此时numsides和angle的值自动被忽略 |
|
……
这么多种点的形状符号够我们用了吧~以后想用哪种查一下就好啦~
本文介绍如何使用Python的matplotlib库创建各种形状的散点图,包括调整颜色、大小及透明度等属性,让数据可视化更加生动有趣。
3013

被折叠的 条评论
为什么被折叠?



