使用plot以及scatter来绘制散点图,同时改变点的大小
参考链接:https://blog.csdn.net/Poul_henry/article/details/88602806
plot()
根据关于matplotlip.pyplot的官方文档:pyplot,其plot部分的解释plot()的作用是画出线条和线条上的标记:
大致意思就是:
将线条和/或标记绘制到轴上。args 是一个可变长度参数,允许使用可选格式字符串进行多个 x、y 对。例如,以下每一项都是合法的:
根据pyplot的官方教学文档:Pyplot tutorial,如果不改变其默认设置,画出的是蓝色的线条,即"b-":
大致意思就是:
对于每 x、 y 对参数,都有一个可选的第三个参数,即指示绘图的颜色和线类型的格式字符串。格式字符串的字母和符号来自 MATLAB,您用线条样式字符串连接颜色字符串。默认格式字符串为’b-',这是一条实心蓝线。例如,要用红色圆圈绘制上述内容,请发布
代码示例:
1 |
|
画出的效果为一条蓝色的直线:
1 |
|
等价于
1 |
|
而可以看到,[x, x+0]表示的是一个二维数组,每一维是从0到9这10个整数,或者说10个点。plot()的作用就是用某种方式将这10个点建立连接,不过其默认方式使用线条连接(也就是线的类型为’-')。现考虑如果是用点或圈而不是线条的方式将这10个点连接起来,画出的就是散点图。
从pyplot可以查到,控制线条的种类的字符串可以为’–', ‘-.’, ‘:’, '.'等等:
故现在考虑用’.‘或’o’代替’-'连接这些点。
将’o’代替’-'的示例:
1 |
|
画出的效果是10个散点图:
scatter()
根据官方文档:matplotlib.pyplot.scatter的定义,scatter()是用来画散点图的:
和plot()相同,scatter()的作用也是将画出的点连接起来,不过其默认连接方式是’o’,即点的方式:
示例:
1 |
|
1 |
|
效果和
1 |
|
的效果相同:
plot()和scatter()改变点的大小
plot()中改变点的大小的参数是markersize 或 ms:
而scatter()中改变点的大小的参数是s:
示例:
1 |
|
效果:
可以看到,plot()的markersize设为4.0,和scatter()的s设为16.0,画出的点大小相同。
这里matplotlib.pyplot.scatter有解释, scatter()中参数s表示的大小,和plot()的markersize大小的平方相同,即[s]=markersize**2,下图参考:pyplot scatter plot marker size
加入图例(legend)后图例中点的大小和数量
加入图例(legend)后,根据官方参考文档:matplotlib.pyplot.legend
参数markerscale是用于调整legend中点和实际图中画出的点的大小关系,若设markersize=1.0,则legend中的点的大小和图中画出的点大小相同;若设markersize=2.0,则legend中的点的大小是图中画出点的大小的2倍。
而numpoints参数作用于调整用线条画出的点,即用plot()画出的点,legend中的点的数目,而scatterpoints参数作用于调整用散点图画出的点,即scatter()画出的点,legend中的点的数目:
markerscale,numpoints和scatterpoints3个参数默认值都为1。
下面加入图例,更改plot()画出的点在legend中点的数量为2,且legend中点的大小为原图的2倍:
1 |
|
效果为:
更改scatterpoints大小也为2, 即scatter()画出的点在legend中显示数量为2:
1 |
|
效果为:
其它参数未变。