• matplotlib初识


    Matplotlib 能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表。

    import matplotlib.pyplot as plt
    plt.plot([1,2,3],[5,7,4])
    plt.show()

    得到如下图表

    这个窗口是一个 matplotlib 窗口,它允许我们查看我们的图形,以及与它进行交互和访问。 你可以将鼠标悬停在图表上,并查看通常在右下角的坐标。 你也可以使用按钮。 它们可能在不同的位置,但在上图中,这些按钮在左下角。

    Home(主页)

    一旦你开始浏览你的图表,主页按钮会帮助你。 如果你想要返回原始视图,可以单击它。 在浏览图表之前单击此按钮将不会生效。

    Forward/Back(前进/后退)

    这些按钮可以像浏览器中的前进和后退按钮一样使用。 你可以单击这些来移回到你之前的位置,或再次前进。

    Pan(平移)

    你可以点击平移按钮,之后点击并拖拽你的图表。

    Zoom(缩放)

    缩放按钮可让你单击它,然后单击并拖动出要放大的方形区域。 放大需要左键单击并拖动。 你也可以右键单击并拖动来缩小。

    Configure Subplots(配置子图)

    此按钮允许你对图形和绘图配置各种间距选项。 点击它会弹出:

    每个蓝色条形都是一个滑块,它允许你调整内边距。 其中有些现在没有任何效果,因为没有任何其他子图。 前四个值调整图形到窗口边缘的边距。 之后wspacehspace对应于当你绘制多个子图时,它们的水平或竖直间距。

    Save(保存)

    此按钮允许你以各种形式保存图形。

    import matplotlib.pyplot as plt
    
    x = [1,2,3]
    y = [5,7,4]
    
    x2 = [1,2,3]
    y2 = [10,14,12]

    这样我们可以画出两个线条,接下来:

    plt.plot(x, y, label='First Line')
    plt.plot(x2, y2, label='Second Line')

    在这里,我们绘制了我们已经看到的东西,但这次我们添加另一个参数label。 这允许我们为线条指定名称,我们以后可以在图例中显示它。 我们的其余代码为:

    plt.xlabel('Plot Number')
    plt.ylabel('Important var')
    plt.title('Interesting Graph
    Check it out')
    plt.legend()
    plt.show()

    使用plt.xlabelplt.ylabel,我们可以为这些相应的轴创建标签。 接下来,我们可以使用plt.title创建图的标题,然后我们可以使用plt.legend()生成默认图例。 结果图如下:

    条形图和直方图

    我们先来看条形图:

    import matplotlib.pyplot as plt
    
    plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one")
    
    plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g')
    plt.legend()
    plt.xlabel('bar number')
    plt.ylabel('bar height')
    
    plt.title('Epic Graph
    Another Line! Whoa')
    
    plt.show()

    plt.bar为我们创建条形图。 如果你没有明确选择一种颜色,那么虽然做了多个图,所有的条看起来会一样。 这让我们有机会使用一个新的 Matplotlib 自定义选项。 你可以在任何类型的绘图中使用颜色,例如g为绿色,b为蓝色,r为红色,等等。 你还可以使用十六进制颜色代码,如#191970

    接下来,我们会讲解直方图。 直方图非常像条形图,倾向于通过将区段组合在一起来显示分布。 这个例子可能是年龄的分组,或测试的分数。 我们并不是显示每一组的年龄,而是按照 20 ~ 25,25 ~ 30… 等等来显示年龄。 这里有一个例子:

    import matplotlib.pyplot as plt
    
    population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]
    
    bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]
    
    plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
    
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title('Interesting Graph
    Check it out')
    plt.legend()
    plt.show()

    产生的图表为:

    对于plt.hist,你首先需要放入所有的值,然后指定放入哪个桶或容器。 在我们的例子中,我们绘制了一堆年龄,并希望以 10 年的增量来显示它们。 我们将条形的宽度设为 0.8,但是如果你想让条形变宽,或者变窄,你可以选择其他的宽度。

    散点图

    散点图通常用于比较两个变量来寻找相关性或分组,如果你在 3 维绘制则是 3 个。

    散点图的一些示例代码:

    import matplotlib.pyplot as plt
    
    x = [1,2,3,4,5,6,7,8]
    y = [5,2,4,2,1,4,5,2]
    
    plt.scatter(x,y, label='skitscat', color='k', s=25, marker="o")
    
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title('Interesting Graph
    Check it out')
    plt.legend()
    plt.show()

    结果为:

    plt.scatter不仅允许我们绘制xy,而且还可以让我们决定所使用的标记颜色,大小和类型。 有一堆标记选项,请参阅 Matplotlib 标记文档中的所有选项。

    plt.scatter(x,y,参数)
    比如
    s参数====点大小
    c =====颜色
    marker =====形状
    alpha ======透明度
  • 相关阅读:
    Python 缓冲区
    Python接收执行参数
    Python编码
    Maven 多环境 打包
    JS 时间 获取 当天,昨日,本周,上周,本月,上月
    Window Mysql 5.7.18安装
    Eclipse 更改Maven项目名
    Redis 命令
    Redis 安装 和 启动
    Mongodb 安装 和 启动
  • 原文地址:https://www.cnblogs.com/pythonclass/p/7756431.html
Copyright © 2020-2023  润新知