首页 > 其他分享 >无涯教程-Matplotlib - 条形图(Bar)

无涯教程-Matplotlib - 条形图(Bar)

时间:2023-10-14 13:32:45浏览次数:40  
标签:bar plt Bar 无涯 width fig ax 条形图

条形图是用高度或长度与其所代表的值成比例的矩形数据图表,条形图可以垂直或水平绘制。

Matplotlib API提供了 bar()函数,该函数可以在MATLAB样式使用以及面向对象的API中使用,如下示例-

ax.bar(x, height, width, bottom, align)
参数说明如下
x x坐标。
height 高度。
width 宽度,默认为0.8。
bottom 可选,y坐标默认为'None'。
align {'center','edge'},可选,默认为'center'

以下是Matplotlib条形图的简单示例。它显示了某所学院提供的各种课程的注册学生人数。

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
langs = ['C', 'C++', 'Java', 'Python', 'PHP']
students = [23,17,35,29,12]
ax.bar(langs,students)
plt.show()
Matplotlib Bar Plot

无涯教程可以通过改变粗细和位置来绘制多个条形图。以下脚本将显示四个大条形图里面包含三个小条形图,厚度为占0.25个单位。

import numpy as np
import matplotlib.pyplot as plt
data = [[30, 25, 50, 20],
[40, 23, 51, 17],
[35, 22, 45, 19]]
X = np.arange(4)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.bar(X + 0.00, data[0], color = 'b', width = 0.25)
ax.bar(X + 0.25, data[1], color = 'g', width = 0.25)
ax.bar(X + 0.50, data[2], color = 'r', width = 0.25)
Multiple Bar Charts

pyplot.bar()函数的底部可选参数允许您指定条形的起始值,第一次调用pyplot.bar()将绘制蓝色条形图,对pyplot.bar()的第二次调用绘制了红色条,蓝色条的底部在红色条的顶部。

import numpy as np
import matplotlib.pyplot as plt
N = 5
menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
ind = np.arange(N) # the x locations for the groups
width = 0.35
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.bar(ind, menMeans, width, color='r')
ax.bar(ind, womenMeans, width,bottom=menMeans, color='b')
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
ax.set_yticks(np.arange(0, 81, 10))
ax.legend(labels=['Men', 'Women'])
plt.show()
Scores

参考链接

https://www.learnfk.com/matplotlib/matplotlib-bar-plot.html

标签:bar,plt,Bar,无涯,width,fig,ax,条形图
From: https://blog.51cto.com/u_14033984/7860939

相关文章

  • 无涯教程-Matplotlib - 双轴(Twin Axes)
    在图形中两个x或y轴被认为是有用的,此外,如果想绘制具有不同单位的曲线时,Matplotlib可以通过twinxandtwiny函数支持此功能。在以下示例中,该图具有两个y轴,一个显示exp(x),另一个显示log(x)-importmatplotlib.pyplotaspltimportnumpyasnpfig=plt.figure()a1=fig.add_......
  • 无涯教程-Matplotlib - 刻度标签(Tick Label)
    刻度(Ticks)是表示轴上数据点的标签,到目前为止,在无涯教程之前的所有示例中,Matplotlib都自动绘制了轴上的间隔点的任务.Matplotlib的默认刻度定位器设计用于在许多常见情况下通常就足够了。xticks()和yticks()函数将列表对象作为参数,列表中的元素表示相应动作上将显示刻度的位......
  • 无涯教程-Matplotlib - Subplot2grid函数
    Subplot2grid函数为在特定位置创建轴对象提供了更大的灵活性,它还允许axis对象跨越多个行或列。Plt.subplot2grid(shape,location,rowspan,colspan)在以下示例中,图形对象的3X3网格填充行和列跨度大小不同的轴对象,每个对象都显示不同的图。importmatplotlib.pyplotasplt......
  • 无涯教程-Matplotlib - 网格(Grids)
    axes对象的grid()函数将网格的可见性设置为打开或关闭,您还可以显示网格的主要/次要刻度,另外,可以在grid()函数中设置颜色,线型和线宽属性。importmatplotlib.pyplotaspltimportnumpyasnpfig,axes=plt.subplots(1,3,figsize=(12,4))x=np.arange(1,11)axes[0].plot(x,x......
  • 无涯教程-Matplotlib - 面向对象接口
    尽管使用matplotlib.pyplot模块可以轻松快速地生成图,但是建议使用面向对象的方法,因为它可以更好地控制和自定义图。在面向对象的界面中,Pyplot仅用于一些功能,例如图形创建,并且用户显式创建并跟踪图形和轴对象,在此级别上,用户使用Pyplot创建图形,并通过这些图形可以创建一个或多个......
  • 无涯教程-Matplotlib - PyLab模块
    PyLab是Matplotlib面向对象绘图库的接口,Matplotlib是整个软件包,matplotlib.pyplot是Matplotlib包中的模块,PyLab是一个与Matplotlib一起安装的模块。基本绘图使用plot命令绘制曲线。它需要一对相同长度的数组(或序列)-fromnumpyimport*frompylabimport*x=linspace(......
  • 无涯教程-Matplotlib - 简单图(Plot)
    在本章中,无涯教程将学习如何使用Matplotlib创建简单图。现在将显示一个简单的角度曲线图,以弧度为单位,相对于Matplotlib中的正弦值。首先导入Matplotlib软件包中的Pyplot模块,并按示例使用别名plt。importmatplotlib.pyplotasplt接下来,需要一个数组来绘制。NumPy库中定义了......
  • 无涯教程-Matplotlib - Pyplot API
    浏览器的新标签中显示一个扩展名为.ipynb的新无标题笔记本(代表IPython笔记本)。matplotlib.pyplot是使Matplotlib像MATLAB一样的命令样式函数的集合,每个Pyplot函数都会对图形进行一些更改。Plots类型Sr.No Remark1Bar绘制条形图。2Barh绘制水平条形图。......
  • 无涯教程-DBUtils - 使用数据源
    到目前为止,无涯教程在使用QueryRunner时使用了连接对象,也可以无缝链接数据源。下面的示例将演示如何在QueryRunner和数据源的帮助下使用Read查询读取记录。将从员工表中读取一条记录。语法QueryRunnerqueryRunner=newQueryRunner(dataSource);Employeeemp=queryRunner.qu......
  • 无涯教程-DBUtils - 自定义行处理器
    如果数据库表中的列名和Javabean对象名不一样,那么无涯教程可以使用自定义的BasicRowProcessor对象来映射它们。请参见下面的示例。以下是Employee.java的内容。publicclassEmployee{privateintid;privateintage;privateStringfirst;privateString......