python绘制散点图运行结果是_用python绘制散点图

本文介绍了如何使用Python的matplotlib库绘制散点图,包括scatter函数的使用,展示了数据加载、散点图和直线图的绘制过程,并分享了作者一年来学习Python的心得,强调基本功、数据结构、官方文档的重要性以及实践中的应用。
摘要由CSDN通过智能技术生成

今天下午学习了如何使用python绘制简单的散点图,写成博客分享一下。

在python中画散点图主要是用matplotlib模块中的scatter函数,先来看一下scatter函数的基本信息。

107fe9cf7799ab149307b5d8bffbccfc.png

网址为:点击打开链接

可以看到scatter中有很多参数,经常使用的参数主要有以下几个:

7fc0cefc5257ce5179832367b4b7613a.png

c:

a6236b90ecc5b6d5edafabe1d52582b5.png

marker:

0590d92fe3cb05e8cacd7e4208940209.png

f5aa2d228c7593039a362ae3009fb8c4.png

数据、代码和绘制的图如下。

数据(取第一列作为x,取第四列作为y)截图:

9343b9c917886a2d1ef60a5948b66149.png

代码如下:import matplotlib.pyplot as plt

import numpy as np

# 定义画散点图的函数

def draw_scatter(n, s):

"""

:param n: 点的数量,整数

:param s:点的大小,整数

:return: None

"""

# 加载数据

data = np.loadtxt('results.txt', encoding='utf-8', delimiter=',')

# 通过切片获取横坐标x1

x1 = data[:, 0]

# 通过切片获取纵坐标R

y1 = data[:, 3]

# 横坐标x2

x2 = np.random.uniform(0, 5, n)

# 纵坐标y2

y2 = np.array([3] * n)

# 创建画图窗口

fig = plt.figure()

# 将画图窗口分成1行1列,选择第一块区域作子图

ax1 = fig.add_subplot(1, 1, 1)

# 设置标题

ax1.set_title('Result Analysis')

# 设置横坐标名称

ax1.set_xlabel('gamma-value')

# 设置纵坐标名称

ax1.set_ylabel('R-value')

# 画散点图

ax1.scatter(x1, y1, s=s, c='k', marker='.')

# 画直线图

ax1.plot(x2, y2, c='b', ls='--')

# 调整横坐标的上下界

plt.xlim(xmax=5, xmin=0)

# 显示

plt.show()

# 主模块

if __name__ == "__main__":

# 运行

draw_scatter(n=2000, s=20)

绘制的图如下:

d8e1b3fcac926e95296a394bd1447644.png

学习python一年多了,在这里想跟大家分享一下自己学习python的一些体会和感受,给大家一些学习的建议。

要注意基本功:我这里所说的基本功是各种编码语言的通用知识,比如循环结构、异常处理结构、针对一个具体任务的处理流程等,要熟练掌握;重视数据结构:python中常用的数据结构不多,主要有列表、字典、数组、dataframe等几类,要能熟练运用各数据结构的一些基本操作;重视官方文档:对于经常使用的方法,要仔细阅读官方文档,弄清楚它的参数列表中每一个参数的含义,相信你可能遇到过或即将遇到这种情况,针对一个具体任务,调用相应函数时,输入常用的参数时发现不能解决问题,就又用python纯语法进行处理,结果发现很麻烦,后来看了官方文档,输入以前忽略的参数,可能事半功倍;要学会利用现有资源:即使对于小白而言,学习python也不是一件太难的事情,在学习过程中遇到不会的问题要及时去问,问大神还是问百度书、都行。个人认为,不管学习什么,都要有不要脸的精神;多在项目、实际工作中使用python:任务驱动往往会使效率提高数倍,天天对着书,不动手编程序、调bug是不行的。

最后,对于新入门的小白,推荐读这两本书:

1)Python编程:从入门到实践 链接:https://pan.baidu.com/s/18tvnss7swxGGuLStuCeuMA 密码:acjz

2)利用Python进行数据分析 链接:https://pan.baidu.com/s/1K9tuR4IpoyoRLunlaDns-w 密码:q6af

欢迎交流!QQ:3408649893

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值