python matplotlib绘制散点图_Matplotlib scatter绘制散点图的方法实现

前言

考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法。首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplotlib就可以直接安装了,安装后会提示安装成功。

2020010212530517.png

2020010212530518.png

一、简单散点图

1.代码

import numpy as np

import matplotlib.pyplot as plt

#生成散点数据

n = 1024

X = np.random.normal(0,1,n)

Y = np.random.normal(0,1,n)

plt.scatter(X,Y) #输入散点数据

plt.show() #显示散点图

2.运行结果

2020010212530519.png

3.注释

np.random.normal(0,1,n)的作用是产生一个符合正太分布的数据样本,听起来可能有点专业化了,我们目前只需要知道它的作用是产生一组样本数据就ok了。

(下面的内容了解即可无需深入,后面再进行深入学习)

np.random.normal(size,loc,scale)

参数含义:

loc:此概率分布的均值(对应着整个分布的中心centre)

scale:此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)

size:输出的shape,默认为None,只输出一个值

二、复杂的散点图

较上一次散点图所做出的变动:

1.修改散点的颜色

2.将三组散点数据放到一张图上

3.添加散点图图例

1.代码

import numpy as np

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

for color in ['red', 'green', 'purple']: #每一次循环都会产生一组散点数据

n = 400

x = np.random.normal(0,1,n)

y = np.random.normal(0,1,n)

ax.scatter(x, y, c=color, label=color ,alpha=0.5)

ax.legend() #显示图例

plt.show()

2.运行结果

2020010212530520.png

3.注释

1.fig, ax = plt.subplots()是一个将多组数据放到一张图显示的操作,可以简单理解为多图合一操作。

其返回值

fig: matplotlib.figure.Figure 对象

ax:子图对象( matplotlib.axes.Axes)或者是他的数组

#函数定义看看就好了

def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,

subplot_kw=None, gridspec_kw=None, **fig_kw):

fig = figure(**fig_kw)

axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey,

squeeze=squeeze, subplot_kw=subplot_kw,

gridspec_kw=gridspec_kw)

return fig, axs

2.ax.scatter(x, y, c=color, label=color ,alpha=0.5)中的c是散点的颜色,label是图例中的标签,alpha是散点的透明度,通过给alpha值介于0和1之间来调整散点的透明度。

四、散点图参数讲解

这部分还是先通过代码来直观了解一下scatter常用的参数

1.代码

import numpy as np

import matplotlib.pyplot as plt

n = 30

x = np.random.normal(0,1,n)

y = np.random.normal(0,1,n)

plt.subplot(321)

plt.scatter(x, y, s=80, c='red', marker='^')

plt.subplot(322)

plt.scatter(x, y, s=80, c='green', marker=(7, 1))

plt.subplot(323)

plt.scatter(x, y, s=1, c='purple', marker=(6, 1))

plt.subplot(324)

plt.scatter(x, y, s=400, c='red', marker=(5, 1))

plt.subplot(325)

plt.scatter(x, y, s=80, c='green', marker='+')

plt.subplot(326)

plt.scatter(x, y, s=80, c='purple', marker=(5, 2))

plt.show()

2.运行结果

2020010212530521.png

3.参数说明

fig, axes = plt.subplots(23):表示一次性在figure上创建成2*3的网格,plt.subplot(321)代表在6个网格中的第一个网格创建图像,plt.subplot(322)代表在6个网格中的第二个网格创建图像,以此类推。对于这个函数的其他参数,我会在之后再详细讲解,把时间花在刀刃上,花最少的时间学习最有用的东西。

plt.scatter(x, y, s=80, c='purple', marker=(5, 2))中的s代表散点的大小,参照第三和第四张图。marker表示散点的样式,元组表示法参照第二、四、六张图,也可以取特定的符号作为marker的值,参照第一、五张图。

2020010212530522.png

截图取自官网。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值