直方图与散点图|学习笔记

简介: 快速学习直方图与散点图

开发者学堂课程【Python 常用数据科学库:直方图与散点图】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7506


直方图与散点图

内容简介

一、直方图

二、散点图


一、直方图

Import numpy as np

Import matplotlib.pyplot as plt

对于直方图来说,最重要的就是数据,于是引用数据:

Data=np.random normal(0,20,1000)

有数据之后要分到一个 bin 当中,于是可以自己指定一个 bins:

Bins=np.arange(-100,100,5),表示从负100到100中,每5个取一个数。

接下来画出直方图:

Plt,hist(data,bins=bins)

Plt.show

总代码如下:

Import numpy as np

Import matplotlib.pyplot as plt

Data=np.random normal(0,20,1000)

Bins=np.arange(-100,100,5)

Plt,hist(data,bins=bins)

Plt.show

可以继续对其进行美化:对其最大值和最小值进行限制:

Plt.xlim([min(data)-5,max(data)-5]

通过以上代码之后,画出的就是最基本的直方图。

如果有2个数据分布,就需要重新指定,将其分别画出:

Import random

Data1=[ramdom gaus(15,10) for I in range (500)]

Data2=[ramdom gaus(5,5) for I in range (500)]

Bins=np.arange(-50,50,2.5)

Plt,hist(data1,bins=bins)

Plt,hist(data1,bins=bins)

Pl.show()

代码画出之后,直方图有很多个颜色,所以可以对其不指定颜色。

Import random

Data1=[ramdom gaus(15,10) for I in range (500)]

Data2=[ramdom gaus(5,5) for I in range (500)]

Bins=np.arange(-50,50,2.5)

Plt,hist(data1,bins=bins,label=’class1’)

Plt,hist(data1,bins=bins, label=’class1’)

Pl.show()

如果想看到堆叠的程度,就可以指定 Alpha 值:

Import random

Data1=[ramdom gaus(15,10) for I in range (500)]

Data2=[ramdom gaus(5,5) for I in range (500)]

Bins=np.arange(-50,50,2.5)

Plt,hist(data1,bins=bins,label=’class1’,alpha=0.3)

Plt,hist(data1,bins=bins, label=’class1’, alpha=0.3)

Pl.show()

此时就可以把2组数据分别画出来了,还可以加入标识。以上就是直方图的画法。


二、散点图

散点图,也就是将一些点分布在一个图中。数据复制之后,也就是指定了均值和方差。这样就可以通过均值和平方差将数据构造出来,可以直接查看如何将散点图画出。

首先指定 figure:

Plt.figure(figsize=(8,6))Plt.scatter(x1_samples[:,0],x1_samples[:,1],markaer=’x’,color=’blue’,alpha=0.3,label=’x1’)Plt.scatter(x2_samples[:,0],x1_samples[:,1],markaer=’o’,color=’red’,alpha=0.3,label=’x2’)Plt.scatter(x3_samples[:,0],x1_samples[:,1],markaer=’’,color=’green’,alpha=0.3,label=’x3’)

执行以上代码之后,系统报错。更改之后,代码如下:

Plt.figure(figsize=(8,6))Plt.scatter(x1_samples[:,0],x1_samples[:,1],markaer=’x’,color=’blue’,alpha=0.3,label=’x1’)Plt.scatter(x2_samples[:,0],x1_samples[:,1],markaer=’o’,color=’red’,alpha=0.3,label=’x2’)Plt.scatter(x3_samples[:,0],x1_samples[:,1],markaer=’’,color=’green’,alpha=0.3,label=’x3’)

Plt.show

执行以上代码之后。颜色太浅,可以更改阿尔法的值,再加入标识。代码的含义就是按散点图当中的第一维为数据传进来,第二维数据传进来,长什么样子,什么颜色,设置阿尔法值就可以了。把直方图和散点图的区别就在于接口如何调。

在构造一个数据,X 和 Y 就相当于当前的坐标:

Plt.figure(figsize=(8,6))

用当前的东西再画一个散点图。现在都是一个一个点,想将点的坐标写出来。就分别传入它的坐标。然后指定 marker:

Plt.scatter(x_coords,y_croords,y_coords,marker=’s’,s=50)

Plt.show()

图片如下:

image.png

还想加入每个点的具体坐标,就要加入

for X,Y in zip(x_coords, y_coords):

Plt.annotate(‘(%s,%s)%(x,y),xy=(x,y),xytext=(0,-15),textcoords=’offset points’)

此时画出了每个点的坐标。但坐标与点没有对齐,就可以加入 ha=’center’。散点图当中经常会加坐标,以上就是加坐标的教程。 还可以指定一个均值和标准差,指定好 figure size 之后构造数据。在数据当中指定一个指标,对于散点图来说要画许多点,这些点能否按照大小不同做一个规范,就可以通过指定:

R=X**2

在散点图当中就要把数据传进去,第一位是0,第二位是1,再继续指定颜色, Size 可以是指定的数乘当前的比例。代码如下。画出来的图就是以00为圆心算出来的平方和。随着平方和越大 size 就会变大。代码如下:

cov_mat1=np.array([[1.0].[0.1]])

X = np. random. multivariate_normal (mu_vecl, cov_matl. 500)

fig = plt.figure(figsize=(8,6))

R=X**2

R_sun=R. sun(axís = 1)

plt. scatter(X[:,0],X[:, 1],color='grey',marker='o',s=20*

R_sun,alpha=0.5)

plt.show()

可以按照设计好的模式来自定义点的大小。

相关文章
|
数据采集 大数据 数据安全/隐私保护
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
本文探讨了使用Perl和RobotRules库在遵循robots.txt规则下抓取小红书数据的方法。通过分析小红书的robots.txt文件,配合亿牛云爬虫代理隐藏真实IP,以及实现多线程抓取,提高了数据采集效率。示例代码展示了如何创建一个尊重网站规则的数据下载器,并强调了代理IP稳定性和抓取频率控制的重要性。
319 7
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
|
6月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
302 14
|
8月前
|
机器学习/深度学习 算法 PyTorch
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
强化学习(RL)是提升大型语言模型(LLM)推理能力的重要手段,尤其在复杂推理任务中表现突出。DeepSeek团队通过群组相对策略优化(GRPO)方法,在DeepSeek-Math和DeepSeek-R1模型中取得了突破性成果,显著增强了数学推理和问题解决能力。GRPO无需价值网络,采用群组采样和相对优势估计,有效解决了传统RL应用于语言模型时的挑战,提升了训练效率和稳定性。实际应用中,DeepSeek-Math和DeepSeek-R1分别在数学推理和复杂推理任务中展现了卓越性能。未来研究将聚焦于改进优势估计、自适应超参数调整及理论分析,进一步拓展语言模型的能力边界。
1114 8
DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解
|
8月前
|
机器学习/深度学习 自然语言处理 算法
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
1352 0
|
12月前
|
JSON 自然语言处理 前端开发
React国际化中英文切换实现
React国际化中英文切换实现
|
12月前
|
JavaScript UED
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
【10月更文挑战第5天】本示例展示了如何在 Vue.js 中使用 Element UI 组件实现动态添加和删除嵌套表单项。该表单包含设备信息、设备部位及其对应的任务列表,支持用户动态添加设备部位和任务,并提供相应的表单验证规则。
1418 0
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
|
数据可视化 算法 数据挖掘
5种方法教你用Python玩转histogram直方图
本篇博主将要总结一下使用Python绘制直方图的所有方法,大致可分为三大类(详细划分是五类,参照文末总结): 纯Python实现直方图,不使用任何第三方库 使用Numpy来创建直方图总结数据 使用matplotlib,pandas,seaborn绘制直方图
1956 0
5种方法教你用Python玩转histogram直方图
|
前端开发 iOS开发 MacOS
Python tkinter控件全集之组合选择框 ttk.ComboBox
Tkinter是Python的标准GUI库,也是最常用的Python GUI库之一,提供了丰富的组件和功能,包括窗口、按钮、标签、文本框、列表框、滚动条、画布、菜单等,方便开发者进行图形界面的开发。Tkinter库基于Tk for Unix/Windows/macOS,由Tcl语言编写。使用Tkinter,可以快速创建桌面应用程序,并支持多平台Windows、macOS、Linux等。
573 3
|
Python
tkinter之Combobox复选框
tkinter之Combobox复选框
280 2
|
机器人 API
[ROS基础] --- TF坐标转换
[ROS基础] --- TF坐标转换
392 0