matplotlib scatter方法详解:绘制精美散点图

5星 · 超过95%的资源 2 下载量 183 浏览量 更新于2024-08-28 收藏 116KB PDF 举报
"这篇文章主要介绍了如何使用Python的matplotlib库中的scatter方法来绘制散点图,包括最基础的绘制方法和如何创建更美观的图形。" 在数据可视化领域,散点图是一种常用的数据表示形式,它可以帮助我们理解两个变量之间的关系。Python的matplotlib库是一个强大的绘图工具,其scatter方法使得绘制散点图变得非常便捷。以下是关于使用matplotlib scatter方法画散点图的详细说明: 1. **最简单的绘制方式** 基本的散点图绘制涉及读取数据,然后调用scatter方法。假设我们有一份数据文件,其中每行包含两个数字,分别代表X和Y坐标。首先,我们需要导入matplotlib.pyplot模块,并设置编码。接着,打开文件并读取每一行,将X和Y值存入列表。之后,通过设置xlabel和ylabel来标记坐标轴,调用scatter方法绘制散点,最后使用show方法显示图像。 ```python import matplotlib.pyplot as plt def plot_picture(): file = "xxx" xlist = [] ylist = [] with open(file, "r") as f: for line in f.readlines(): lines = line.strip().split() if len(lines) != 2 or int(lines[1]) < 100000: continue x, y = int(lines[0]), int(lines[1]) xlist.append(x) ylist.append(y) plt.xlabel('X') plt.ylabel('Y') plt.scatter(xlist, ylist) plt.show() ``` 2. **更漂亮一些的画图方式** 为了使散点图更具可读性和吸引力,我们可以添加更多的配置选项。例如,使用不同的颜色或大小表示不同类别的数据,或者添加图例等。这里假设我们有四个列的数据,其中前两列是坐标数据,最后一列是分类标签。我们可以根据标签调整点的颜色或大小,从而形成多色散点图。 ```python from matplotlib import pyplot as plt file = "/home/mi/wanglei/data.csv" # 读取数据并处理 # ... # 假设labels是根据最后一列得到的分类标签 labels = [1, 2, 3] # 根据实际情况获取 # 根据标签设置颜色和大小 colors = ['red', 'green', 'blue'] sizes = [50, 100, 150] for i in range(len(labels)): plt.scatter(x_data[i], y_data[i], c=colors[labels[i] - 1], s=sizes[labels[i] - 1]) plt.xlabel('每年飞行常客里程数') plt.ylabel('玩视频游戏所耗时间百分比') plt.legend(['不喜欢的人', '魅力一般的人', '极具魅力的人']) plt.show() ``` 在这个例子中,我们根据分类标签设置了不同颜色的点,同时调整了点的大小,增加了图例,使得图像更具有解读性。 matplotlib的scatter方法是绘制散点图的利器,可以根据数据的特点进行各种定制,如调整点的颜色、大小、透明度等,以满足不同场景下的需求。在实际数据分析中,散点图可以帮助我们直观地发现两个变量间的关系,比如是否存在线性趋势、聚集现象或者是其他有趣的模式。结合matplotlib的其他功能,如设置轴限、添加网格线、调整字体等,可以创建出专业且富有洞察力的数据可视化结果。