今天下午学习了如何使用python绘制简单的散点图,写成博客分享一下。
在python中画散点图主要是用matplotlib模块中的scatter函数,先来看一下scatter函数的基本信息。
网址为:点击打开链接
可以看到scatter中有很多参数,经常使用的参数主要有以下几个:
c:
marker:
数据、代码和绘制的图如下。
数据(取第一列作为x,取第四列作为y)截图:
代码如下: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)
绘制的图如下:
学习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