zoukankan      html  css  js  c++  java
  • Python机器学习(六十九)Matplotlib 其他类型图形

    Matplotlib 柱状图

    柱状图/条形图是常见的图形类型,可使用bar()方法绘制。

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 柱状图条目
    divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
    # 柱状图条目的值
    divisions_average_marks = [70, 82, 73, 65, 68]
    
    # 绘制图形
    plt.bar(divisions, divisions_average_marks, color="green")
    
    # 设置标题
    plt.title("Bar Graph")
    # 设置x轴标签
    plt.xlabel("Divisions")
    # 设置y轴标签
    plt.ylabel("Marks")
    
    # 显示
    plt.show()

    输出

    Matplotlib

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 柱状图条目
    divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
    # 柱状图条目的值
    divisions_average_marks = [70, 82, 73, 65, 68]
    boys_average_marks = [68, 67, 77, 61, 70]
    
    index = np.arange(5)
    width = 0.30
    
    # 绘制图形
    plt.bar(index, divisions_average_marks, width, color="green", label="Division Marks")
    plt.bar(index + width, boys_average_marks, width, color="red", label="Boys Marks")
    
    # 设置标题
    plt.title("Bar Graph")
    # 设置x轴标签
    plt.xlabel("Divisions")
    # 设置y轴标签
    plt.ylabel("Marks")
    # 设置 x 轴刻度
    plt.xticks(index + width/2, divisions)
    
    # 设置图例
    plt.legend(loc='best')
    
    # 显示
    plt.show()

    输出

    Matplotlib

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 柱状图条目
    divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
    # 柱状图条目的值
    boys_average_marks = [68, 67, 77, 61, 70]
    girls_average_marks = [72, 97,69, 69, 66]
    
    index = np.arange(5)
    width = 0.30
    
    # 绘制图形
    plt.bar(index, boys_average_marks, width, color="red", label="Boys Marks")
    plt.bar(index, girls_average_marks, width, color="blue", label="Girls Marks", bottom=boys_average_marks)
    
    # 设置标题
    plt.title("Bar Graph")
    # 设置x轴标签
    plt.xlabel("Divisions")
    # 设置y轴标签
    plt.ylabel("Marks")
    # 设置 x 轴刻度
    plt.xticks(index, divisions)
    
    # 设置图例
    plt.legend(loc='best')
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 饼图

    饼图是另一种常见的图形类型,可以使用pie()方法制作饼图。

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 准备数据:公司市场占有率
    firms = ["Firm A", "Firm B", "Firm C", "Firm D", "Firm E"]
    market_share = [20, 25, 15, 10, 20]
    
    # 设置第二项为爆炸(散开)状态
    Explode = [0, 0.1, 0, 0, 0]
    
    # 绘制图形
    plt.pie(market_share, explode=Explode, labels=firms, shadow=True, startangle=45)
    plt.axis('equal')
    plt.legend(title="List of Firms")
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 直方图

    直方图是一种非常常见的图表类型,尤其在概率统计很常用,是正态分布、t分布等各种分布的基础。直方图使用hist()方法绘制。

    示例

    生成一个随机的连续数据,包含1000个条目,将这些数据划分为10个等分,根据其频率绘制图表。

    直方图是一种非常常见的图表类型,尤其在概率统计很常用,是正态分布、t分# 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 准备数据
    x = np.random.randn(1000)
    
    # 绘制图形
    plt.title("Histogram")
    plt.xlabel("Random Data")
    plt.ylabel("Frequency")
    plt.hist(x, 10)
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 散点图

    一个简单的例子展示了如何用matplotlib绘制散点图。

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 准备数据
    n = 1024
    X = np.random.normal(0, 1, n)
    Y = np.random.normal(0, 1, n)
    T = np.arctan2(Y, X)
    
    # 绘制图形
    plt.axes([0.025, 0.025, 0.95, 0.95])
    plt.scatter(X, Y, s=75, c=T, alpha=.5)
    
    plt.xlim(-1.5, 1.5)
    plt.xticks(())
    plt.ylim(-1.5, 1.5)
    plt.yticks(())
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 填充图

    一个简单的例子展示了如何用matplotlib绘制填充图。

    示例

    # 导入numpy库与matplotlib.pyplot库
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 准备数据
    n = 256
    X = np.linspace(-np.pi, np.pi, n, endpoint=True)
    Y = np.sin(2 * X)
    
    # 绘制图形
    plt.axes([0.025, 0.025, 0.95, 0.95])
    
    plt.plot(X, Y + 1, color='blue', alpha=1.00)
    plt.fill_between(X, 1, Y + 1, color='blue', alpha=.25)
    
    plt.plot(X, Y - 1, color='blue', alpha=1.00)
    plt.fill_between(X, -1, Y - 1, (Y - 1) > -1, color='blue', alpha=.25)
    plt.fill_between(X, -1, Y - 1, (Y - 1) < -1, color='red',  alpha=.25)
    
    plt.xlim(-np.pi, np.pi)
    plt.xticks(())
    plt.ylim(-2.5, 2.5)
    plt.yticks(())
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 网格

    一个简单的例子展示了如何用matplotlib绘制网格。

    示例

    import matplotlib.pyplot as plt
    
    ax = plt.axes([0.025, 0.025, 0.95, 0.95])
    
    ax.set_xlim(0,4)
    ax.set_ylim(0,3)
    ax.xaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.xaxis.set_minor_locator(plt.MultipleLocator(0.1))
    ax.yaxis.set_major_locator(plt.MultipleLocator(1.0))
    ax.yaxis.set_minor_locator(plt.MultipleLocator(0.1))
    ax.grid(which='major', axis='x', linewidth=0.75, linestyle='-', color='0.75')
    ax.grid(which='minor', axis='x', linewidth=0.25, linestyle='-', color='0.75')
    ax.grid(which='major', axis='y', linewidth=0.75, linestyle='-', color='0.75')
    ax.grid(which='minor', axis='y', linewidth=0.25, linestyle='-', color='0.75')
    ax.set_xticklabels([])
    ax.set_yticklabels([])
    
    # 显示
    plt.show()

    输出

    Matplotlib

    Matplotlib 极坐标图

    一个简单的例子展示了如何用matplotlib绘制极坐标图。

    示例

    import numpy as np
    import matplotlib.pyplot as plt
    
    ax = plt.axes([0.025, 0.025, 0.95, 0.95], polar=True)
    
    N = 20
    theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / N)
    radii = 10 * np.random.rand(N)
    width = np.pi / 4 * np.random.rand(N)
    bars = plt.bar(theta, radii, width=width, bottom=0.0)
    
    for r,bar in zip(radii, bars):
        bar.set_facecolor(plt.cm.jet(r/10.))
        bar.set_alpha(0.5)
    
    ax.set_xticklabels([])
    ax.set_yticklabels([])
    plt.show()

    输出

    Matplotlib

    Matplotlib 3D图

    一个简单的例子展示了如何用matplotlib绘制3D图。

    示例

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    fig = plt.figure()
    ax = Axes3D(fig)
    X = np.arange(-4, 4, 0.25)
    Y = np.arange(-4, 4, 0.25)
    X, Y = np.meshgrid(X, Y)
    R = np.sqrt(X ** 2 + Y ** 2)
    Z = np.sin(R)
    
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot)
    ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.cm.hot)
    ax.set_zlim(-2, 2)
    
    plt.show()

    输出

    Matplotlib

  • 相关阅读:
    go包初始化顺序
    go map
    go包管理
    C++ 线程池
    RAFT共识算法笔记
    最大子序列和
    常见网络攻击及其防御
    go常用标准库功能
    using代替typedef
    typename和class的区别
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13170805.html
Copyright © 2011-2022 走看看