python数据分析较流行的工具为matplotlib,这是一个数学绘图库,可结合numpy使用,功能强大。
首先从绘制简单的图线开始:
1.库导入:
(图线的绘制常用matplotlib中的pyplot模块,同时可配合numpy使用)
import matplotlib.pyplot as plt
import numpy as np
#pyplot包含很多用于生成图表的函数
2.生成一条简单的直线:以y=2*x+3为例
x=np.arange(1,6)#生成x的序列{1,2,3,4,5}
y=2*x+3 #y生成关于x的序列值
plt.title("test1")#图表标题
plt.xlabel("x axis")#x轴含义
plt.ylabel("y axis")#y轴含义
plt.plot(x,y)#将x,y绘制成有意义的图像
plt.show()#打开matplotlib查看器,并显示绘制的图形
图线如图所示:
3.显示为散点
上述plot()没有填入第三位参数,将plot()的第三个参数进行变化即可得到不同的绘制效果:
'''
较常用:
1:'-',就是上面的实线
2:'--',短横线
3:'-.',点划线
4:':',虚线
5:'.',点
6:'o',大圆点
7:'^',三角形
8:'v',倒三角形
'''
还可以控制颜色:
'''
'b':蓝色
'g':绿色
'r':红色
还有很多...
'''
可以组合使用,即控制颜色和形状:
eg. 将上述plot函数增加第三个参数’og’: 绿色圆点
plt.plot(x,y,'og')#将x,y绘制成有意义的图像
4.绘制一段正弦曲线
from matplotlib import pyplot as plt
import numpy as np
x=np.arange(0,3*np.pi,0.1)#界及步长
y=np.sin(x)
plt.title("sin function")
plt.plot(x,y)
plt.show()
图线如图:
5.同一图中绘制多个子图
采用subplot()方法来在同一个图的位置中画多个子图
以同时画正弦和余弦曲线为例:
import numpy as np
import matplotlib.pyplot as plt
#正弦和余弦曲线
x=np.arange(0,3*np.pi,0.1)
y_sin=np.sin(x)
y_cos=np.cos(x)
#建立subplot网格,横宽为2,竖宽为1
#第一个subplot部分
plt.subplot(2,1,1)
#绘制第一个子图
plt.plot(x,y_sin,'r')
plt.title("sin")
#第二个subplot部分
plt.subplot(2,1,2)
#绘制第二个子图
plt.plot(x,y_cos,'g')
plt.title("cos")
#显示绘制的图形
plt.show()
图线如图:
6.修改图表文字大小及线条粗细
当觉得图表的轴标签,标题的大小或者线条的粗细不适合时,可以通过向原来绘图的函数增加传递的参数来进行改变。
(以上述绘制y=2*x+3直线为例)
(1)向plot中增加参数linewidth改变线条粗细:
plt.plot(x,y,linewidth=5)
(2)通过fontsize改变文字大小:
plt.title("test",fontsize=20)#图表标题
plt.xlabel("x axis",fontsize=12)#x轴含义
plt.ylabel("y axis",fontsize=12)#y轴含义
(3)通过labelsize设置刻度标记的大小:
plt.tick_params(axis='both',labelsize=12)
图线如图: