zoukankan      html  css  js  c++  java
  • matplotlib绘图(三)

    matplotlib中2D图形的绘制

    直方图

    直方图的参数只有一个x,不像条形图需要传入x,y

    直方图作用:是统计x在某个区间上出现的次数

    直方图是条形图的一种形式

    hist()的参数:

     #bins 表示数据分成多少组(可以是整数值,也可以是一个序列,默认为10),图形表示在每个组中数据出现的个数

     #normal:若为真,表示直方图中的值进行归一化处理,形成概率密度(默认值为False)

     #orientation:通过设置orientation为horizontal创建水平直方图,默认为vertical竖直的

    如:

    import numpy as np
    %matplotlib inline
    import matplotlib.pyplot as plt

    x = np.random.randint(0,10,size =20)

    plt.hist(x,align = "mid",bins = 10,color = "r",rwidth = 0.5,density = True)

    #align设置直方图的位置,bins为分组的个数,rwidth为原来直方图宽度的百分比(默认为1),dengsity是归一化处理

    条形图

    条形图有两个参数x,y

    bar()  垂直方向

    barh()水平方向

    x = np.arange(0,100,10)
    y = np.random.randint(120,1000,size =10 )
    plt.bar(x,y,color = ["r","g","y"],width = 5,align = "edge",bottom = 100)

    条形图宽度,align:条形图的为值(edge为靠左,默认center),bottom:为y轴的数值起点

    bar()玫瑰图应用

    x = np.linspace(0,2*np.pi,10)
    y = np.random.randint(0,5,size =10)
    plt.axes(polar = True)

    axes(polar =True)设置极坐标系,默认为False,直角坐标系
    plt.bar(x,y,color = np.random.rand(10,3)             

    #(10,3) 十个颜色,由红绿蓝三原色组成,3为4,则再加上白色

    极坐标图(横坐标是一个点)

    转圈形式标下大小,转一圈360度=2*pi

    axes(polar =True)设置极坐标系,默认为False,直角坐标系

    饼图

    饼图也是一个只有一个参数x

    pie()

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

    饼图的属性设置

    #labels参数设置每一块的标签,labeldistance参数设置标签距离圆心的距离(比例值)

    #autopct参数设置比例值的显示格式(%1.1f%%):pctdistance参数设置比例值文字距离圆心的距离

    #explode参数设置每一块顶点距离圆心的长度(比例值);

    # colors参数设置每一块的颜色;

    #shadow参数设置为布尔值,设置是否绘制阴影

    #startangle设置旋转角度

    如:

    plt.figure(figsize = (8,8))
    p = [0.2,0.15,0.3,0.25,0.05,0.05]
    plt.pie(p,labels = ["USA","CHINA","JAPAN","GERMAN","AAA","HHH"],
               labeldistance = 0.7,
               autopct = "%0.1f%%",
               explode = [0,0.1,0,0,0,0],
               shadow = True,
               startangle = 30)

    散点图

    散点图需要两个参数。但此时x不是表示x轴,而是每个点的横坐标

    scatter()

    x = np.random.randn(1000,2)
    plt.scatter(x[:,0],x[:,1],marker = "o",c = np.random.rand(1000,3),s = np.random.randint(30,300,size = 1000))

  • 相关阅读:
    Singer Michael Jackson dead at 50
    [转载]使用NUnit在.Net编程中进行单元测试
    [转载]简单蚁群算法的实现
    发布yxyDES2的C语言版
    常用的正则表达式
    C#正则表达式快速入门
    Choosing between ASP.NET MVC and ASP.NET Webforms
    C#里的一些加密解密标准函数示例——DES,SHA1,RSA
    Comparing ASP.NET MVC and ASP.NET
    [原创]DES加密解密工具2.1及其代码——支持字符串及文件加密,支持3重DES
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10301369.html
Copyright © 2011-2022 走看看