python 前后叠加柱状图
时间: 2023-10-29 13:57:20 浏览: 134
您可以使用Matplotlib库来绘制前后叠加的柱状图。以下是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D']
before_data = [10, 15, 8, 12]
after_data = [12, 10, 6, 14]
# 设置柱状图的宽度
bar_width = 0.35
# 计算每个柱状图的位置
x = np.arange(len(categories))
# 绘制前后两个柱状图
plt.bar(x, before_data, width=bar_width, label='Before')
plt.bar(x + bar_width, after_data, width=bar_width, label='After')
# 设置x轴标签和标题
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Comparison Before and After')
# 设置x轴刻度标签
plt.xticks(x + bar_width / 2, categories)
# 添加图例
plt.legend()
# 显示图形
plt.show()
```
上述代码会生成一个前后叠加的柱状图,其中横轴是类别,纵轴是数值。您可以根据自己的数据和需求进行相应的修改和定制。
相关问题
python画叠加柱状图
Python提供了多种绘制叠加柱状图的方法,以下是其中一种比较简单的实现方法:
1.导入所需模块:matplotlib.pyplot和numpy
```python
import matplotlib.pyplot as plt
import numpy as np
```
2.创建两组数据集合并成一个数组:
```python
x = np.array(['A','B','C','D','E'])
y1 = np.array([10,11,14,12,9])
y2 = np.array([8,15,7,10,13])
y = np.vstack([y1,y2]) #将两个数组合并成一个数组,方便后续绘图
```
3.绘制叠加柱状图:
```python
plt.bar(x, y[0], color = 'b', align = 'center') #绘制第一组数据的柱状图
plt.bar(x, y[1], bottom = y[0], color = 'g', align = 'center') #绘制第二组数据的柱状图,同时bottom参数设置为第一组数据,即将第二组数据叠加到第一组数据上
plt.show() #显示图形
```
绘制出的柱状图如下图所示:
![叠加柱状图](https://img-blog.csdn.net/20171013095507143?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2l6ZW5fMTk5MzM3MzYy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
如果想要调整柱状图的颜色、宽度或添加图例等,可以通过添加一些绘图参数或方法来实现。
python叠加柱状图
要在Python中叠加柱状图,你可以使用Matplotlib库来实现。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [5, 10, 6, 8, 12]
values2 = [7, 8, 5, 6, 9]
# 设置柱状图的位置和宽度
bar_width = 0.35
index = np.arange(len(categories))
# 绘制第一个柱状图
plt.bar(index, values1, bar_width, label='Value 1')
# 绘制第二个柱状图,位置向右偏移bar_width
plt.bar(index + bar_width, values2, bar_width, label='Value 2')
# 设置x轴标签和标题
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Stacked Bar Chart')
# 设置x轴刻度标签
plt.xticks(index + bar_width/2, categories)
# 添加图例
plt.legend()
# 显示图形
plt.show()
```
这个例子创建了两个柱状图,其中第一个柱状图位于x轴上的位置,第二个柱状图向右偏移了一个`bar_width`的距离。你可以根据自己的需求修改数据和样式。
阅读全文