大家好,又见面了,我是你们的朋友全栈君。
python 画图–简单开始及折线图
相关参考资料:
matplotlib官方文档: http://matplotlib.org/api/pyplot_summary.html (api的调用及一些示例代码)
一个中文版的文档(不全): http://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html
matplotlib较详细的剖析: http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html
三种图的绘制: http://www.cnblogs.com/hustlx/p/5264562.html
多张图的绘制: http://www.2cto.com/kf/201407/317115.html
一、环境准备
linux ubuntu 下需安装下面三个包:
Numpy, Scipy,Matplotlib
分别输入下面的代码进行安装:
代码语言:javascript复制pip install numpy
pip install scipy
sudo apt-get install python-matplotlib
测试是否安装成功
代码语言:javascript复制python
>>> import pylab
如果没有报错则安装成功
二、开始画图
1. 画最简单的直线图
代码如下:
代码语言:javascript复制import numpy as np
import matplotlib.pyplot as plt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.savefig("easyplot.jpg")
结果如下:
代码解释:
代码语言:javascript复制#x轴,y轴
x=[0,1]
y=[0,1]
#创建绘图对象
plt.figure()
#在当前绘图对象进行绘图(两个参数是x,y轴的数据)
plt.plot(x,y)
#保存图象
plt.savefig("easyplot.jpg")
2. 给图加上标签与标题
上面的图没有相应的X,Y轴标签说明与标题
在上述代码基础上,可以加上这些内容
代码如下:
代码语言:javascript复制import numpy as np
import matplotlib.pyplot as plt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.xlabel("time(s)")
plt.ylabel("value(m)")
plt.title("A simple plot")
结果如下:
代码解释:
代码语言:javascript复制plt.xlabel("time(s)") #X轴标签
plt.ylabel("value(m)") #Y轴标签
plt.title("A simple plot") #标题
3. 画sinx曲线
代码如下:
代码语言:javascript复制# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#设置x,y轴的数值(y=sinx)
x = np.linspace(0, 10, 1000)
y = np.sin(x)
#创建绘图对象,figsize参数可以指定绘图对象的宽度和高度,单位为英寸,一英寸=80px
plt.figure(figsize=(8,4))
#在当前绘图对象中画图(x轴,y轴,给所绘制的曲线的名字,画线颜色,画线宽度)
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
#X轴的文字
plt.xlabel("Time(s)")
#Y轴的文字
plt.ylabel("Volt")
#图表的标题
plt.title("PyPlot First Example")
#Y轴的范围
plt.ylim(-1.2,1.2)
#显示图示
plt.legend()
#显示图
plt.show()
#保存图
plt.savefig("sinx.jpg")
结果如下:
4. 画折线图
代码如下:
代码语言:javascript复制# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#X轴,Y轴数据
x = [0,1,2,3,4,5,6]
y = [0.3,0.4,2,5,3,4.5,4]
plt.figure(figsize=(8,4)) #创建绘图对象
plt.plot(x,y,"b--",linewidth=1) #在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度)
plt.xlabel("Time(s)") #X轴标签
plt.ylabel("Volt") #Y轴标签
plt.title("Line plot") #图标题
plt.show() #显示图
plt.savefig("line.jpg") #保存图
结果如下:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139737.html原文链接:https://javaforall.cn