数据可视化——Matplotlib模块入门

一、安装 
直接用pip安装,pip install Matplotlib 即可

二、画图操作

主要介绍 折线图、直方图、误差线图、条形图、圆饼图和散点图的相关函数

1、折线图 line plot

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大小 

2、直方图 Histogram 

  1. 函数:pyplot.hist()
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要分布的条形数量 

3、误差线图 Errorbar charts

# coding:utf-8

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的二维数组分别表示每点对应正负方向误差

4、条形图 Bar char

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 

6、描点图 Scatter plot

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——点图案类型:


参考: https://blog.csdn.net/u014607457/article/details/51260049

猜你喜欢

转载自blog.csdn.net/helloxiaozhe/article/details/80654053