Python可视化中的Matplotlib(5.直方图、条形图以及饼图的用法和详细的参数)

1.  直方图   hist()

     直方图的参数只有一个X

import matplotlib.pyplot as plt  # 导入绘图模块
import numpy as np  # 导入需要生成数据的numpy模块
'''直方图'''
'''表示概率,根据x的值来显示x中值出现的概率图'''
'''
    参数说明: normed=True:将值进行归一化处理,形成概率密度,默认值为False
            color: 修改颜色
             设置直方图的方向:orientation='horizontal': 水平方向
                            默认orientation='vertical' 垂直方向
             
'''
x = np.random.randint(0,10,10)
plt.hist(x,density=True,orientation='horizontal',color='r')
plt.show()

2. 条形图      条形图有两个参数 x,y!

'''条形图 bar()、barh()(条形图有两个参数x,y)'''
x = np.linspace(0,5,5)
y = np.random.randint(0,20,size=5)
'''垂直条形图'''
axes = plt.subplot(1,2,1)
axes.bar(x,y)
'''水平条形图'''
axes2 = plt.subplot(1,2,2)
axes2.barh(x,y)
plt.show()
bar()                                                         barh()        

3.    饼图  pie()(画饼图时也有一个参数x)

      饼图适合展示各部分占总体的比例,而条形图适合比较各部分的大小

'''
饼图  pie()
pie() 参数说明: 
       (1)labels=['']  设置相对应数据的标签
        (2) labeldistance:设置标签距离圆心的距离:labeldistance (比例值)(值越大离图就越远)     
        (3)autopct='%1.1f%%' : 设置饼图上显示数据,
                            (最外面有两个%(转化为百分比),里面1.1f%即保留一位小数加%)
                                                        1.2f 即保留两位小数  
        (4)pctdistance :  设置比例值文字距离圆心的距离,值越大离圆心就越远  
        (5) explode = () : 参数设置每一块顶点距离圆心的长度(比例值)
                            里面的值的数量和数据是相同的数量,不想设置时直接
                            给个0即可,注意用小括号括起来
        (6)  colors 参数设置每一块的颜色
        (7) shadow : 设置是否绘制阴影
        (8) startangle : 设置饼图旋转的度数 (逆时针旋转)
'''
'''可以设置总的百分比没有到达1,不够的地方就没有占满饼图,即把没有占满的地方空出来'''
p = np.array([0.6,0.2,0.1])
axes = plt.subplot(1,2,1)
'''第一个饼图'''
axes.pie(p,labels=['dog','cat','other'],autopct='%1.1f%%',pctdistance=0.8,startangle=60)
# plt.figure(figsize=(4,4))  # 第一种方式让饼图更圆
axes.axis('equal')    # 第二种方式让饼图更圆
axes.set_title('one')  # 设置标题
'''第二个饼图'''
p2 = np.array([0.4,0.2,0.15,0.15,0.1])
axes2 = plt.subplot(1,2,2)
axes2.pie(p2,labels=['dog','cat','brid','cow','sheep'],
            labeldistance=1.3,explode=(0,0.2,0.3,0,0.1),shadow=True,
          autopct='%1.2f%%')
axes2.set_title('two')  # 设置标题
axes2.axis('equal')
plt.show()

      

猜你喜欢

转载自blog.csdn.net/wei18791957243/article/details/83869233