python画散点图代码,python散点图图例_1

  python画散点图代码,python散点图图例

  散点图是指回归分析中数据点在直角坐标系平面上的分布图。散点图显示了因变量随自变量变化的大致趋势,我们可以选择合适的函数来拟合数据点。本文将使用Python绘制散点图,有需要的可以参考。

  废话少说,直接看代码。

  将matplotlib.pyplot作为plt导入

  将numpy作为np导入

  # 1.首先,导入包并创建数据。

  n=10

  X=np.random.rand(n) * 2#随机生成10个0到2之间的x坐标。

  Y=np.random.rand(n) * 2#随机生成0到2之间的10个Y坐标。

  # 2.创造一个形象

  图=plt .图(1)

  # 3.有几种方法可以设置颜色颜色值[可选参数,可以填充也可以不填充]

  # colors=np.random.rand(n) #随机生成0到1之间的10个颜色值,或者

  Colors=[r , g , y , b , r , c , g , b , k , m] #您可以设置要取的随机数

  # 4.设置点的面积值[可选参数]

  area=20*np.arange(1,n ^ 1)

  # 5.设置点的边界线宽度[可选参数]

  宽度=np.arange(n)# 0-9个数字

  # 6.正式绘制散点图:散点

  plt.scatter(x,y,s=面积,c=颜色,线宽=宽度,alpha=0.5,标记=o )

  # 7.设置轴标签:xlabel,ylabel

  #设置X轴标签

  Plt.xlabel(X坐标)

  #设置Y轴标签

  Plt.ylabel(Y坐标)

  # 8.设置图表的标题:标题

  Plt.title(“测试绘图功能”)

  # 9.设置轴的上下显示值:xlim,ylim

  #设置水平轴的上限和下限

  plt.xlim(-0.5,2.5)

  #设置垂直轴的上限和下限。

  plt.ylim(-0.5,2.5)

  # 10.设置轴的刻度值:x刻度和y刻度。

  #设置水平轴的精确刻度

  PLT . x ticks(NP . arange(NP . min(x)-0.2,np.max(x) 0.2,step=0.3))

  #设置垂直轴的精确刻度。

  PLT . y ticks(NP . arange(NP . min(y)-0.2,np.max(y) 0.2,step=0.3))

  #也可以根据xlim和ylim设置。

  #设置水平轴的精确刻度

  plt.xticks(np.arange(-0.5,2.5,步长=0.5))

  #设置垂直轴的精确刻度。

  plt.yticks(np.arange(-0.5,2.5,步长=0.5))

  # 11.显示标签:在图中的某些点(位置)进行标注

  # PLT。Annotate ((str (round (x [2],2)), str (round (y [2],2)),xy=(x [2],y [2]),fontsize=10,xy coords

  PLT . annotate(({ 0 },{1}))。format(round(x[2],2),round(y[2],2)),xy=(x[2],y[2]),fontsize=10,xycoords=data )

  # xycoords=data 基于数据值

  #将字体大小设置为10

  # 12.在图片的某些位置显示文本:文本

  Plt.text (round (x [6],2),round (y [6],2), goodpoint ,fontdict={size 3360 10, color 3360 red}) # fontdict设置文本字体。

  #向轴添加文本。

  # 13.设置为显示中文

  PLT . RC params[ font . sans-serif ]=[ sim hei ]#用于正常显示中文标签。

  PLT . RC params[ axes . unicode _ MINUS ]=false #用于正常显示负号。

  # 14.设置图例,[注意,画图测试:必须是迭代格式,比如tuple或者list,否则只显示第一个字符,即图例不完整]

  Plt.legend([绘图测试],loc=2,fontsize=10)

  # plt.legend([ drawing test],loc= upper left ,marker scale=0.5,fontsize=10) #这个也可以。

  # markerscale:与最初绘制的图例标记相比,图例标记的相对大小。

  # 15.保存图片保存图

  plt.savefig(test_xx.png ,dpi=200,bbox_inches=tight ,transparent=Fal

  se)

  # dpi: The resolution in dots per inch,设置分辨率,用于改变清晰度

  # If *True*, the axes patches will all be transparent

  # 16. 显示图片 show

  plt.show()

  scatter主要参数:

  

def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None,

   vmin=None, vmax=None, alpha=None, linewidths=None,

   verts=None, edgecolors=None,

   **kwargs):

   """

   A scatter plot of *y* vs *x* with varying marker size and/or color.

   Parameters

   ----------

   x, y : array_like, shape (n, )

   The data positions.

   s : scalar or array_like, shape (n, ), optional

   The marker size in points**2.

   Default is ``rcParams[lines.markersize] ** 2``.

   c : color, sequence, or sequence of color, optional, default: b

   The marker color. Possible values:

   - A single color format string.

   - A sequence of color specifications of length n.

   - A sequence of n numbers to be mapped to colors using *cmap* and

   *norm*.

   - A 2-D array in which the rows are RGB or RGBA.

   Note that *c* should not be a single numeric RGB or RGBA sequence

   because that is indistinguishable from an array of values to be

   colormapped. If you want to specify the same RGB or RGBA value for

   all points, use a 2-D array with a single row.

   marker : `~matplotlib.markers.MarkerStyle`, optional, default: o

   The marker style. *marker* can be either an instance of the class

   or the text shorthand for a particular marker.

   See `~matplotlib.markers` for more information marker styles.

   cmap : `~matplotlib.colors.Colormap`, optional, default: None

   A `.Colormap` instance or registered colormap name. *cmap* is only

   used if *c* is an array of floats. If ``None``, defaults to rc

   ``image.cmap``.

   alpha : scalar, optional, default: None

   The alpha blending value, between 0 (transparent) and 1 (opaque).

   linewidths : scalar or array_like, optional, default: None

   The linewidth of the marker edges. Note: The default *edgecolors*

   is face. You may want to change this as well.

   If *None*, defaults to rcParams ``lines.linewidth``.

  设置legend,【注意,'绘图测试’:一定要是可迭代格式,例如元组或者列表,要不然只会显示第一个字符,也就是legend会显示不全】

  

plt.legend([绘图测试], loc=2, fontsize = 10)

  # plt.legend([绘图测试], loc=upper left, markerscale = 0.5, fontsize = 10) #这个也可

  # markerscale:The relative size of legend markers compared with the originally drawn ones.

  其参数loc对应为:

  

  运行结果:

  

  补充

  除了二维的散点图,Python还能绘制三维的散点图,下面的示例代码

  

import matplotlib.pyplot as plt

  from mpl_toolkits.mplot3d import Axes3D

  import numpy as np

  # 随机种子

  np.random.seed(1)

  def randrange(n, vmin, vmax):

   使数据分布均匀(vmin, vmax).

   return (vmax - vmin)*np.random.rand(n) + vmin

  fig = plt.figure()

  ax = fig.add_subplot(111, projection=3d) # 可进行多图绘制

  n = 500

  # 对于每一组样式和范围设置,在由x在[23,32]、y在[0,100]、

  # z在[zlow,zhigh]中定义的框中绘制n个随机点

  for m, zlow, zhigh in [(o, -50, -25), (^, -30, -5)]:

   xs = randrange(n, 23, 32)

   ys = randrange(n, 0, 100)

   zs = randrange(n, zlow, zhigh)

   ax.scatter(xs, ys, zs, marker=m) # 绘图

  # X、Y、Z的标签

  ax.set_xlabel(X Label)

  ax.set_ylabel(Y Label)

  ax.set_zlabel(Z Label)

  plt.show()

  输出结果:

  

  到此这篇关于Python绘制散点图的教程详解的文章就介绍到这了,更多相关Python散点图内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: