zoukankan      html  css  js  c++  java
  • Matplotlab绘图基础

    import matplotlib.pyplot as plt

    设置画布大小

    plt.figure(figsize=(6, 3))

    plt.plot(x,y,'g^',label='sin(x)')     参数1:X轴,参数2:y轴   颜色 形状  label=“线条标题” plt.legend(loc='best')  需要和legend配合使用

    plt.title("标题名称")   

    plt.xlim((0, np.pi + 1))   设置X轴范围
    plt.ylim((-3, 3))   设置Y轴范围
    plt.xlabel('X')  设置X轴标题
    plt.ylabel('Y')  设置Y轴标题

    plt.legend(loc='best')  显示右上角线条款式

    首先来看下如何绘制散点图。

    k = 500
    x = np.random.rand(k) 
    y = np.random.rand(k)
    size = np.random.rand(k) * 50 # 生成每个点的大小
    colour = np.arctan2(x, y) # 生成每个点的颜色大小
    plt.scatter(x, y, s=size, c=colour)
    plt.colorbar() # 添加颜色栏
    plt.show()

    柱状图我们经常会用到,我们来看下如何画出柱状图,并在图上标注出数据对应的数值。

    k = 10
    x = np.arange(k)
    y = np.random.rand(k)
    plt.bar(x, y) # 画出 x 和 y 的柱状图

    # 增加数值
    for x, y in zip(x, y):
        plt.text(x, y , '%.2f' % y, ha='center', va='bottom') #设置参数 ha='center' 横向居中对齐,设置 va='bottom'纵向底部(顶部)对齐。
    plt.show()

    labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
    sizes = [15, 30, 45, 10]
    explode = (0, 0.1, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs')

    
    

    fig1, ax1 = plt.subplots(1)

    ax1.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True)
    ax1.axis('equal')

    # ax1.legend(labels=labels, loc='upper right')

    
    

    plt.show()

     

    中文乱码解决

    Matplotlib 有个让人恼火的问题是,默认情况下,Matplotlib 中文会乱码。

    x = ['北京', '上海', '深圳', '广州']
    y = [60000, 58000, 50000, 52000]
    plt.plot(x, y)
    plt.show()

    可以看到,上面所有的中文都乱码了,显示成方框了,如何解决呢?

    其实只需要配置下后台字体即可。

    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

    plt.plot(x, y)
    plt.show()



  • 相关阅读:
    HDU 1863 畅通工程(Kruskal)
    HDU 1879 继续畅通工程(Kruskra)
    HDU 1102 Constructing Roads(Kruskal)
    POJ 3150 Cellular Automaton(矩阵快速幂)
    POJ 3070 Fibonacci(矩阵快速幂)
    ZOJ 1648 Circuit Board(计算几何)
    ZOJ 3498 Javabeans
    ZOJ 3490 String Successor(模拟)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
  • 原文地址:https://www.cnblogs.com/dll102/p/12957697.html
Copyright © 2011-2022 走看看