这篇文章给大家分享的是有关Matplotlib scatter如何绘制散点图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
站在用户的角度思考问题,与客户深入沟通,找到中牟网站设计与中牟网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖中牟地区。前言
考虑到很多同学可能还没有安装matplotlib
包,这里给大家提供我常用的安装方法。首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplotlib
就可以直接安装了,安装后会提示安装成功。
一、简单散点图
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.运行结果
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.运行结果
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.运行结果
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的值,参照第一、五张图。
截图取自官网。
感谢各位的阅读!关于“Matplotlib scatter如何绘制散点图”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。