怎么在matplotlib中利用散射方法画散点图

  介绍

这篇文章将为大家详细讲解有关怎么在matplotlib中利用散射方法画散点图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> 1,最简单的绘制方式

绘制散点图是数据分析过程中的常见需求.python中最有名的画图工具是matplotlib, matplotlib中的散射方法可以方便实现画散点图的需求。下面我们来绘制一个最简单的散点图。

数据格式如下:

0,,746403
1,,1263043
2,,982360
3,,1202602

其中第一列为X坐标,第二列为Y坐标。下面我们来画图。

# !/usr/bin/env  python   utf - 8编码:      import  matplotlib.pyplot  as  plt       def  pltpicture ():=,file “xxx",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=,xlist  []=,ylist  []   ,with 打开(文件,,“r"), as  f:   for 才能;line 拷贝f.readlines ():   ,,lines =, line.strip () .split ()   ,,if  len(行),!=,2,趁机int([1]行),& lt;, 100000:   ,才能继续   ,,,x, y =, int([0]行),,int([1]行)   ,,xlist.append (x)   ,,ylist.append (y)      ,plt.xlabel (& # 39; x # 39;)   ,plt.ylabel (& # 39; y # 39;)   ,plt.scatter (xlist, ylist)   之前,plt.show ()

怎么在matplotlib中利用散射方法画散点图

<强> 2,更漂亮一些的画图方式

上面的图片比较粗糙,是最简单的方式,没有任何相关的配置项。下面我们再用另外一份数据集画出更漂亮一点的图。
数据集来自网络的公开数据集,数据格式如下:

40920,,8.326976,,,0.953952,,,3
14488,,7.153469,,,1.673904,,,2
26052,,1.441871,,,0.805124,,,1
75136,,13.147394,,0.428964,,,1

第一列每年获得的飞行常客里程数;
第二列玩视频游戏所耗时间百分比;
第三列每周消费的冰淇淋公升数;
第四列为标签:
1表示不喜欢的人
2表示魅力一般的人
3表示极具魅力的人

现在将每年获取的飞行里程数作为X坐标,玩视频游戏所消耗的事件百分比作为Y坐标,画出图。

得到matplotlib  import  pyplot  as  plt      时间=file “/home/mi/wanglei/数据/datingTestSet2.txt"   label1X, label1Y, label2X,, label2Y,, label3X,, label3Y =, [], [], [], [], [], []      with 打开(文件,,“r"), as  f:   ,for  line  f:拷贝   时间=lines 才能;line.strip () .split ()   if 才能;len(行),!=,4:   ,才能继续   ,,距离,速度,,label =,行[0],[1],[3],行   if 才能;label ==,“1”:   ,,label1X.append(距离)   ,,label1Y.append(率)      elif 才能;label ==,“2”:   ,,label2X.append(距离)   ,,label2Y.append(率)      elif 才能;label ==,“3”:   ,,label3X.append(距离)   ,,label3Y.append(率)      plt.figure (figsize=(8, 5),, dpi=80)   时间=axes  plt.subplot (111)      时间=label1  axes.scatter (label1X, label1Y,,=20,, c=皉ed")   时间=label2  axes.scatter (label2X, label2Y,, s=40岁,c=癵reen")   label3 =, axes.scatter (label3X, label3Y,, s=50, c=癰lue")      plt.xlabel (“every  year  fly  distance")   plt.ylabel (“play  video  game  rate")   axes.legend ((label1, label2,, label3),,(“不要# 39;t  like",,“attraction  common",,“attraction  perfect"),, loc=2)      plt.show ()

最后效果图:

怎么在matplotlib中利用散射方法画散点图

<强> 3,散射函数详解

我们来看看散射函数的签名:

def 散射(自我,,x,, y,, s=,, c=,,标志=没有,,提出=没有,规范=没有   ,,,vmin=没有,vmax=没有,α=None,线宽=没有   ,,,绿党=没有,edgecolors=没有   ,,,* * kwargs):   “才能”;“   Make 才能a  scatter  plot  of “x”, vs ‘y’      Marker 才能size  is  scaled  by “年代”,以及Marker  color  is  mapped 用“c”      ,参数   ,- - - - - - - - - - -   ,,x, y :, array_like,, shape  (n,,)   ,,Input 数据      s 才能:scalar  array_like,趁机,shape  (n,,),可选   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在matplotlib中利用散射方法画散点图