📜  绘制背靠背条形图 Matplotlib

📅  最后修改于: 2022-05-13 01:54:28.825000             🧑  作者: Mango

绘制背靠背条形图 Matplotlib

在本文中,我们将学习如何在Python中的 matplotlib 中绘制背靠背条形图。让我们讨论一些概念:

Matplotlib: Matplotlib 是一个了不起的Python可视化库,用于数组的 2D 绘图。 Matplotlib 是一个基于 NumPy 数组的多平台数据可视化库,旨在与更广泛的 SciPy 堆栈一起使用。它是由 John Hunter 在 2002 年推出的。

条形图:条形图或条形图是一种用矩形条表示数据类别的图形,矩形条的长度和高度与它们所代表的值成正比。条形图可以水平或垂直绘制。

背靠背条形图:背靠背条形图只是相对于轴绘制的两个条形图的组合。

需要的步骤

  1. 导入库(matplotlib)
  2. 导入/加载/创建数据
  3. 在数据上绘制背靠背条形图。

在这里,我们将逐步讨论一些示例,以更好地理解该概念。

示例 1:简单的背靠背条形图

Python3
# import packkages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
A = np.array([3,6,9,4,2,5])
X = np.arange(6)
  
# plot the bars
plt.bar(X, A, color = 'r')
plt.bar(X, -A, color = 'b')
plt.title("Back-to-Back Bar Chart")
plt.show()


Python3
# import packkages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
A = np.array([3,6,9,4,2,5])
B = np.array([2,8,1,9,7,3])
X = np.arange(6)
  
# plot the bars
plt.barh(X, A, color = 'r')
plt.barh(X, -B, color = 'b')
plt.title("Back-to-Back Bar Chart")
plt.show()


Python3
# import packkages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
A = np.array([3,6,9,4,2,5])
B = np.array([2,8,1,9,7,3])
X = np.arange(6)
  
# plot the bars
plt.barh(X, A, align='center',
         alpha=0.9, color = 'y')
  
plt.barh(X, -B, align='center', 
         alpha=0.6, color = 'c')
  
plt.grid()
plt.title("Back-to-Back Bar Chart")
plt.ylabel("Indexes")
plt.xlabel("Values")
plt.show()


输出 :

示例 2:水平背靠背条形图。

蟒蛇3

# import packkages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
A = np.array([3,6,9,4,2,5])
B = np.array([2,8,1,9,7,3])
X = np.arange(6)
  
# plot the bars
plt.barh(X, A, color = 'r')
plt.barh(X, -B, color = 'b')
plt.title("Back-to-Back Bar Chart")
plt.show()

输出 :

示例 3:使用 matplotlib 中的某些样式完成背靠背条形图。

蟒蛇3

# import packkages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
A = np.array([3,6,9,4,2,5])
B = np.array([2,8,1,9,7,3])
X = np.arange(6)
  
# plot the bars
plt.barh(X, A, align='center',
         alpha=0.9, color = 'y')
  
plt.barh(X, -B, align='center', 
         alpha=0.6, color = 'c')
  
plt.grid()
plt.title("Back-to-Back Bar Chart")
plt.ylabel("Indexes")
plt.xlabel("Values")
plt.show()

输出 :