用python绘制二维数据的散点图

一 绘制散点图脚本

import matplotlib.pyplot as plt #需要安装该 matplotlib库
import pandas as pd #需要安装pandas库

#读入文件
file_path = "data.txt"#存放二维数据的txt文件,换成自己的路径下
df = pd.read_table(file_path, header=None)

#定义 x  y变量
x = []
y = []

#定义颜色变量
color = ['c', 'b', 'g', 'r', 'm', 'y', 'k', 'w']

#用for循环将文件中的值赋值给x,y
for i in range(len(df[0])):
    x.append(int(df[0][i].split(',')[0]))#用逗号隔开,txt里面一行为一个二维坐标(x,y),然后换行
    y.append(int(df[0][i].split(',')[1]))

#画图
plt.scatter(x, y, c=color[1], edgecolors='r')
plt.show()

data.txt二维坐标格式如下:

62,62
71,71
81,81
55,55
66,66

二、相关参数介绍

x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。用来表示散点图的横纵坐标,例如一个(100,99)的数据,x=100,y=99

s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小,数值越大对应的图中的点越大。

c:点的颜色,默认蓝色 ‘b’,也可以是个 RGB 或 RGBA 二维行数组。
写一下常用的颜色所对应的数组:
‘b’ blue
‘g’ green
‘r’ red
‘c’ cyan
‘m’ magenta
‘y’ yellow
‘k’ black
‘w’ white

marker:点的样式,默认小圆圈 ‘o’。
常用的点的样式:
‘.’:点(point marker)
‘,’:像素点(pixel marker)
‘o’:圆形(circle marker)
‘v’:朝下三角形(triangle_down marker)
‘^’:朝上三角形(triangle_up marker)
‘<‘:朝左三角形(triangle_left marker)
‘>’:朝右三角形(triangle_right marker)
‘1’:(tri_down marker)
‘2’:(tri_up marker)
‘3’:(tri_left marker)
‘4’:(tri_right marker)
‘s’:正方形(square marker)
‘p’:五边星(pentagon marker)
‘*’:星型(star marker)
‘h’:1号六角形(hexagon1 marker)
‘H’:2号六角形(hexagon2 marker)
‘+’:+号标记(plus marker)
‘x’:x号标记(x marker)
‘D’:菱形(diamond marker)
‘d’:小型菱形(thin_diamond marker)
‘|’:垂直线形(vline marker)
‘_’:水平线形(hline marker)

cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。
还没搞明白这玩意的用法。

norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用,改变点的亮度。

vmin,vmax:亮度设置,在 norm 参数存在时会忽略。

alpha:透明度设置,0-1 之间,默认 None,即不透明。

linewidths:标记点的长度。

edgecolors:颜色或颜色序列,默认为 ‘face’,可选值有 ‘face’, ‘none’, None。表示的是点的描边的颜色,例如 edgecolors=‘r’ 就是让边的颜色为红色。

plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

**kwargs::其他参数。
成功运行脚本,效果如下:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐