python数据分析工具包(4)——matplotlib(二)

    前一篇文章,介绍了如何用matplotlib绘制一些简单的图。通常在图上需要添加很多的标注信息,如添加图例。

 1 import matplotlib.pyplot as plt
 2 import numpy as np
 3 
 4 
 5 t=np.arange(0.,5.,0.2)
 6 #这里我们设置了线的颜色以及线形,实际上也可以设置线宽等其他参数
 7 plt.plot(t,t*10,'r--',t**2,'bs',t**3,'g^')
 8 #legend是用来设置图例的,当未知参数loc未定时,它会自己寻找图上信息不多的区域来放置图例
 9 plt.legend(labels=["$line1$","$line2$","$line3$"])
10 plt.show()

        

    

    前面我们都是用plot函数绘制线图。下面来绘制柱状图。

1 import matplotlib.pyplot as plt
2 
3 name_list = ['Monday','Tuesday','Wednesday','Thursday','Friday']
4 num_list = [1.5,0.8,7.8,5,6.3]
5 #柱状图的绘制函数为bar(),关键字分别指定个数,柱高度,指定颜色,以及将横坐标替换成名字
6 plt.bar(range(len(num_list)), num_list,color='rgb',tick_label=name_list)
7 plt.show()

 

        

    当然我们绘制的图不会就这样简陋:

 1 import matplotlib.pyplot as plt
 2 
 3 class_list = ['class-one','class-two','class-three','class-four']
 4 num_list = [3,5,8,6]
 5 num_list1 = [1,2,3,1]
 6 x =list(range(len(num_list)))
 7 #这里是设置柱状图的宽度
 8 
 9 total_width, n = 0.8, 2
10 width = total_width / n
11 
12 plt.bar(x, num_list, width=width,fc = 'b')
13 #柱中心偏移距离
14 for i in range(len(x)):
15     x[i] = x[i] + width
16 
17 plt.bar(x, num_list1, width=width,tick_label = class_list,fc = 'r')
18 plt.legend(labels=["boy","girl"])
19 plt.show()

 

          

 

     下面是饼状图的绘制,这个例子来源于官方使用指南:

 1 import matplotlib.pyplot as plt                                       
 2                                                                       
 3 # 饼状图的切片标签                                                            
 4 labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'                              
 5 sizes = [15, 30, 45, 10]                                              
 6                                                                       
 7 #将30%这一部分饼状图分离,间隙值0.1                                                 
 8 explode = (0, 0.1, 0, 0)                                              
 9                                                                       
10 #指定画布1,实例化plt.subplots()                                              
11 fig1, ax1 = plt.subplots()                                            
12                                                                       
13 #autopct是指定百分比显示规格,保留一位小数                                             
14 #最后两个关键字值是添加阴影,以及确定起始角度                                               
15 ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',     
16         shadow=True, startangle=90)                                   
17                                                                       
18 #等宽比确保饼状图绘制成一个圆                                                       
19 ax1.axis('equal')                                                     
20                                                                       
21 plt.show()                                                            

 

 

    效果图如下:

 

        

 

    matplotlib的绘图功能是能够满足我们可视化需求的。其他的一些使用方法,在今后学习中查阅就行。

posted @ 2018-03-01 21:31  CCColby  阅读(367)  评论(0编辑  收藏  举报