matplotlib.pyplot.barh()函数

matplotlib.pyplot.barh()函数

条形图或条形图是一种表示数据类别的图形,其矩形条形图的长度和高度与所表示的值成比例。条形图可以横着画也可以竖着画。条形图描述了离散类别之间的比较。图的一个轴表示正在进行比较的特定类别,而另一个轴表示与这些类别对应的测量值。

创建一个水平条形图

Python中的matplotlib API提供了barh()函数,可以在MATLAB风格中使用或作为一个面向对象的API。与轴一起使用的barh()函数的语法如下

语法:matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align= ‘ center ‘, **kwargs)

下面描述了上面函数的一些位置参数和可选参数:

参数 描述
Y Y轴的坐标。
宽度 标量或数组之类的,表示条的宽度。
高度 标量或数组之类的,表示条的高度(默认值为0.8)。
标量或标量序列,表示条左侧的X坐标(默认值为0)。
对齐 {‘ center ‘, ‘ edge ‘}对齐Y坐标的基底(默认值为center)。
颜色 标量或数组之类的表示条的颜色。
edgecolor 标量或数组之类的,表示条的边缘颜色。
线宽 标量或数组之类的,表示条边的宽度。
tick_label 标量或数组之类的,表示条的刻度标签(默认值为None)。

该函数根据给定参数创建一个以矩形为边界的水平条形图。下面是一个使用barh()方法创建单杠图的简单示例,该图表示参加一个学院不同课程的学生人数。

示例1

import numpy as np
import matplotlib.pyplot as plt
  
  
# creating the dataset
data = {'C': 20, 'C++': 15, 'Java': 30,
        'Python': 35}
  
courses = list(data.keys())
values = list(data.values())
  
fig = plt.figure(figsize=(10, 5))
  
# creating the bar plot
plt.barh(courses, values, color='maroon')
  
plt.xlabel("Courses offered")
plt.ylabel("No. of students enrolled")
plt.title("Students enrolled in different courses")
plt.show()

输出:

matplotlib.pyplot.barh()函数

这里使用plt.barh(courses, values, color= ‘ maroon ‘)来指定使用球场列作为y轴,使用值作为x轴来绘制柱状图。color属性用于设置条形图的颜色(本例中为栗色).plt.xlabel(” Courses offered “), plt.ylabel(” students注册”)用于标记相应的轴。.plt.title()用于为图形创建标题。.plt.show()用于使用前面的命令将图形显示为输出。

示例2

import pandas as pd
from matplotlib import pyplot as plt
  
# Read CSV into pandas
data = pd.read_csv(r"Downloads/cars1.csv")
data.head()
df = pd.DataFrame(data)
  
name = df['car'].head(12)
price = df['price'].head(12)
  
# Figure Size
fig, ax = plt.subplots(figsize=(16, 9))
  
# Horizontal Bar Plot
ax.barh(name, price)
  
# Remove axes splines
for s in ['top', 'bottom', 'left', 'right']:
    ax.spines[s].set_visible(False)
  
# Remove x, y Ticks
ax.xaxis.set_ticks_position('none')
ax.yaxis.set_ticks_position('none')
  
# Add padding between axes and labels
ax.xaxis.set_tick_params(pad=5)
ax.yaxis.set_tick_params(pad=10)
  
# Add x, y gridlines
ax.grid(b=True, color='grey',
        linestyle='-.', linewidth=0.5,
        alpha=0.2)
  
# Show top values
ax.invert_yaxis()
  
# Add annotation to bars
for i in ax.patches:
    plt.text(i.get_width()+0.2, i.get_y()+0.5,
             str(round((i.get_width()), 2)),
             fontsize=10, fontweight='bold',
             color='grey')
  
# Add Plot Title
ax.set_title('Sports car and their price in crore',
             loc='left', )
  
# Add Text watermark
fig.text(0.9, 0.15, 'Jeeteshgavande30', fontsize=12,
         color='grey', ha='right', va='bottom',
         alpha=0.7)
  
# Show Plot
plt.show()

输出:

matplotlib.pyplot.barh()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程