python怎么画双柱状图
时间: 2024-01-10 19:59:02 浏览: 73
你可以使用 Python 中的 Matplotlib 库来画双柱状图,首先导入该库并设定数据:
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
values1 = [10, 20, 15, 25]
values2 = [20, 25, 10, 15]
然后使用下面的代码画双柱状图:
fig, ax = plt.subplots()
ax.bar(labels, values1, width=0.4, align='edge', label='First')
ax.bar(labels, values2, width=-0.4, align='edge', label='Second')
ax.legend()
plt.show()
这将会生成一个带有两个组的双柱状图,其中每个组中包含 A、B、C 和 D 四个类别。注意 width 的值是两个柱状图中间的距离,负号可以让第二个组的柱状图靠近第一个组。
相关问题
python画双柱状图核心代码
可以使用Python的matplotlib库来绘制双柱状图,以下为核心代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
labels = ['Group1', 'Group2', 'Group3', 'Group4', 'Group5']
x = np.arange(len(labels)) # x轴位置
width = 0.35 # 柱状图宽度
# 绘制柱状图
fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, men_means, width, label='Men')
rects2 = ax.bar(x + width/2, women_means, width, label='Women')
# 添加标签、标题和图例
ax.set_xticks(x)
ax.set_xticklabels(labels)
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.legend()
plt.show()
```
其中,`men_means`和`women_means`分别存储了两组柱状图的数据,`labels`存储了每个柱状图对应的标签。使用`numpy`库的`arange()`函数生成了x轴上的位置,`width`为柱状图的宽度。在绘制柱状图时,使用`bar()`函数分别绘制了两组柱状图。最后通过`set_xticks()`和`set_xticklabels()`函数设置了x轴上的标签,并通过`set_ylabel()`和`set_title()`函数设置了纵轴标签和标题,使用`legend()`函数添加了图例。
Python画双正负柱状图
要画双正负柱状图,你可以使用 matplotlib 库。下面是一个简单示例代码:
```python
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
positive_values = [5, 8, 3, 7, 2]
negative_values = [-3, -5, -1, -4, -2]
# 创建画布
fig, ax = plt.subplots()
# 绘制正柱状图
ax.bar(categories, positive_values, color='green', label='Positive')
# 绘制负柱状图
ax.bar(categories, negative_values, color='red', label='Negative')
# 添加网格线
ax.grid(True)
# 添加标题和标签
plt.title('Double Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
# 添加图例
plt.legend()
# 显示图形
plt.show()
```
你可以根据自己的数据和需求修改这个示例代码以满足你的要求。
阅读全文