最近想学习一下用python语言进行数据分析与挖掘,而对于数据挖掘而言前期对数据的分析十分重要,而数据可视化有助于我们对数据的更深入直观的认识,因此打算先学习一下用python可视化数据的知识。
一、安装
我是直接用pip安装,进入cmd,输入pip install Matplotlib 即可。(若提示没有适合版本,可能以前安装过numpy模块,把numpy模块卸载了再直接安装Matplotlib模块即可);
二、画图操作
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=10*np.random.randn(3)
x.sort()
y=10*np.random.rand(3)
y.sort()
plt.plot(x,y,x+1,y+1)
plt.show()
1)plot()函数参数可包含多个x,y,可设置折线的对应属性:颜色、线宽度等
如:plot(x1,y1,x2,y2,x3,y3……)//在同一幅图中显示多条折线
2)plt.plot(x,y,label=”red”,color=”r”,linestyle=”–”,linewidth=5,marker=”^”,markersize=20)
//设置折线颜色、标签、折线类型、关键点符号、marker大小
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=np.random.randn(1000)//产生符合标准正太分布的1000个数
plt.hist(x,bins=25)//画出分布直方图
plt.savefig("1.png")
plt.show()
hist(x,bins=25)//x分布集合,bins要分布的条形数量
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=range(0,5)
y=np.arange(0,2.5,0.5)**2
err=[[0.1,0.2,0.3,0.4,0.5],[0.5,0.4,0.3,0.2,0.1]]
print err
plt.errorbar(x,y,yerr=err)
plt.savefig("1.png")
plt.show()
其中ferr与xerr参数可以是:a、固定值,此时每点误差相同
b、与x,y长度等的数组,此时没点误差一一对应
c、与x,y,长度n相等的2Xn二维数组,长度为2的二维数组分别表示每点对应正负方向误差
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=range(0,5)
y=np.arange(0,2.5,0.5)**2
err=[[0.1,0.2,0.3,0.4,0.5],[0.5,0.4,0.3,0.2,0.1]]
plt.bar(x,y,color="red",yerr=err)
plt.savefig("1.png")
plt.show()
可通过设置参数,width调节柱宽度
5. 圆饼图 pie char
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=10*np.random.random_sample(3)
plt.pie(x,explode=[0,0.1,0],labels=["cat","dog","girl"],autopct="%1.1f%%")
plt.show()
需注意的是:画pie图时,若x中的值相加小于1,则直接显示x中的值而非计算比例值;若x中sum>1时才会计算对应比例值显示出来
如:x=[0.1,0.3,0.4]时:
相关keyword:
explode——与x长度相等的list,饼切分距离
label——标签,与x长度相等的list
labeldistance——标签与饼边界距离
autopct——格式化百分比,如:“%1.1f%%”,保留一位小数显示百分比
shadow——阴影显示与否,False or True
import matplotlib.pyplot as plt
import matplotlib as mlp
import numpy as np
x=np.random.randn(1000)
y=np.random.randn(1000)
color=np.random.rand(1000)
size=100*np.random.rand(1000)
plt.scatter(x,y,c=color,s=size)
plt.show()
x,y为长度相等的list,相关keyword:
c——marker 颜色,值为0-1之间
s——marker size ,单位像素
linewidths——点边缘宽度,可为一值或与x,y长度相等list
edgecolor——点边缘颜色,默认黑,可为一值或与x,y长度相等list
vmin,vmax——
alpha——点透明度,0到1之间
marker——点图案类型:
<原创文章,转载请注明出处>