绘制背靠背条形图 Matplotlib
在本文中,我们将学习如何在Python中的 matplotlib 中绘制背靠背条形图。让我们讨论一些概念:
Matplotlib: Matplotlib 是一个了不起的Python可视化库,用于数组的 2D 绘图。 Matplotlib 是一个基于 NumPy 数组的多平台数据可视化库,旨在与更广泛的 SciPy 堆栈一起使用。它是由 John Hunter 在 2002 年推出的。
条形图:条形图或条形图是一种用矩形条表示数据类别的图形,矩形条的长度和高度与它们所代表的值成正比。条形图可以水平或垂直绘制。
背靠背条形图:背靠背条形图只是相对于轴绘制的两个条形图的组合。
需要的步骤
- 导入库(matplotlib)
- 导入/加载/创建数据
- 在数据上绘制背靠背条形图。
在这里,我们将逐步讨论一些示例,以更好地理解该概念。
示例 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()
输出 :