使用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 npimport 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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。