使用matplotlib生成折线图,matplotlib.pyplot画折线图_2

  使用matplotlib生成折线图,matplotlib.pyplot画折线图

  本文主要详细介绍python使用matplotlib绘制折线图。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  

前言:

  我的python学习到此结束。不过有些方法还是打算总结出来和大家分享一下。我整理过用matplotlib画折线图的一般步骤,按照这个步骤画折线图一般没有问题。其实用matplotlib库画线图的过程,其实和数学中的点追踪连线画图的过程差不多。所以这个过程可以简单的规划成三个部分:获取图像点信息,追踪点和连线,设置图形线条格式。

  matplotlib库的安装以及程序引用的说明:

  我用的编程软件是pycharm,我来说说pycharm是怎么安装matplotlib库的。在主页文件选项下,找到设置。进一步找到项目解释者。之后,在选中框中,点击软件包上的数字,安装查询插件。安装了编译器插件的Hxd有望成为一个好的开始。具体情况如下图所示。

  至于程序编写的过程,需要参考matplotlib库,这个库是用来画折线图的。一般引用如下:

  将matplotlib.pyplot作为plt导入

  折线图绘制的一般过程:

  第一步:得到了他需要的点的坐标:

  一般我们画一个平面,也就是说需要得到点的X坐标和Y坐标。当我们绘制折线图时,坐标信息一般保存在两个列表中。对应于两个列表的下标的值是一个点的x和y值。至于点的坐标信息,可以根据需要自己设置。

  X=[1,2,3,4,5,6,7,8,9,10]#直接构建列表并设置

  数据=[[1,2,3,4,5,6],

  [2, 4, 6, 8, 10, 12],

  [1, 3, 5, 7, 9, 11],

  [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],

  [3, 6, 9, 12, 15, 18],

  [4, 8, 12, 16, 20, 24],

  [5, 10, 15, 20, 25, 30],

  [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],

  [1, 4, 7, 10, 13, 16],

  [2, 5, 8, 11, 14, 17]]

  Y=[np.mean(i) for i in data]#循环平均值

  这是我的一个程序中设置x和y坐标的方法。

  第二步:连接图:

  可以,过程并不复杂。通过设置点的信息可以直接绘制图形。绘制图形也很简单,调用plot函数即可。这是一个绘制折线图的函数。用matpotlib画其他图形几乎是同样的过程,只是画图功能不同。

  #绘制图形

  plt.plot(x,y,线宽=1,颜色=橙色,标记=o ,标签=平均值)

  参数说明:

  颜色:表示多段线的颜色设置。

  Label:代表设置折线的标签,实际上相当于给它起了个名字。

  Linewidth:表示设置折线的宽度,通俗来说就是粗细。

  Marker:写‘o’是为了在虚线上的每一点都能被标记出来。不设置就看不到每一个点。

  第三步:折线图轴线的设置:

  调用label函数来命名水平轴和垂直轴。

  Plt.xlabel(发布日期)#命名X轴

  Plt.ylabel(小说数量)#命名Y轴

  您可以通过调用xticks函数和y ticks函数来设置折线图的坐标轴。中间的列表是在每个坐标轴上设置几个点,每个点的值是多少。中间的数据量和数据值是可选的,看你自己的需求。

  #设置水平和垂直坐标

  plt.xticks([0,2,4,6,8,10,12])

  plt.yticks([0,5,10,15,20,25])

  第四步::的其他环境

  图像标题设置:

  使用plt.title( )函数设置图像。

  标题了。

  背景网格的设置:

  如果想让自己的图像背景不是白板,有网格线的话,就可以加上grid语句。

  

plt.grid()  # 设置网格模式

  折线说明框的设置:

  如果想在图像中加入折线说明框,就可以使用legend函数,它会自动提取折线的名字然后表示出来。比如,我的折线取名为Mean Value。就会出现下面这个框。下面的那个,是另一条线的名字。

  

  图像上每个点文本的设置:

  还可以给每个点设置文本。就是折线上,每个点旁边显示一个数字或者几个字啥的。这个用text函数就可以做到。

  

#设置每个点上的数值

  for i in range(10):

          plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment=center,horizontalalignment=right, rotation=90)

  text函数,前两个值表示点的坐标,第三个值就是要设置的文本信息。至于后面的都是属性值的设置,fontsize是字体大小的设置,color是字体颜色的设置,style是字体格式的设置,也就是字体类型。weight是字体颜色深度的设置。后面两个属性值,是显示位置的设置。

  第五步:将图像信息显示出来:

  如果想保存图像的话,可以直接调用savefig函数。

  

plt.savefig("./xrd.png")

  当然绘制好的图像是看不到的,要调用函数show才能看到。

  

plt.show()

  代码实例以及绘制出的图像:

  

import numpy as np

  import matplotlib.pyplot as plt

  x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

  data = [[1, 2, 3, 4, 5, 6],

          [2, 4, 6, 8, 10, 12],

          [1, 3, 5, 7, 9, 11],

          [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],

          [3, 6, 9, 12, 15, 18],

          [4, 8, 12, 16, 20, 24],

          [5, 10, 15, 20, 25, 30],

          [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],

          [1, 4, 7, 10, 13, 16],

          [2, 5, 8, 11, 14, 17]]

  y = [np.mean(i) for i in data]

  # 绘制图形

  plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")

  # 算标准差

  yTop = [y[i] + np.std(data[i]) for i in range(len(data))]

  yBottom = [y[i] - np.std(data[i]) for i in range(len(data))]

  plt.fill_between(x, yTop, yBottom ,color="lightgreen",label="Standard deviation")#填充色块

  # 设置横纵坐标

  plt.xticks([0, 2, 4, 6, 8, 10, 12])

  plt.yticks([0, 5, 10, 15, 20, 25])

  plt.legend(["Mean value","Standard deviation"],loc="upper left")#设置线条标识

  plt.grid()  # 设置网格模式

  #设置每个点上的数值

  for i in range(10):

          plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment=center,horizontalalignment=right, rotation=90)

  plt.show()

  

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。

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

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