python matplotlib绘制堆积柱状图横版相同长度
时间: 2023-05-23 19:01:28 浏览: 101
可以使用barh函数,先将数据反转,然后再进行绘制。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 随机生成数据
data = np.random.randint(0, 10, (3, 5))
# 将数据反转
data = data[::-1]
labels = ['A', 'B', 'C']
colors = ['#FF7F50', '#87CEFA', '#32CD32']
# 绘制堆积柱状图
fig, ax = plt.subplots()
for i in range(len(labels)):
if i == 0:
ax.barh(labels[i], data[i], color=colors[i])
else:
ax.barh(labels[i], data[i], left=np.sum(data[:i], axis=0), color=colors[i])
# 设置图形参数
ax.set_xlabel('数量')
ax.set_ylabel('类别')
ax.set_yticks(labels)
ax.set_xlim(0, np.sum(data, axis=0).max()*1.2)
ax.legend(labels[::-1], loc='upper right')
plt.show()
```
当然,这只是一个简单的示例,具体要根据实际需求进行调整。
相关问题
python matplotlib绘制堆积柱状图横版
非常感谢您的提问!以下是 Python Matplotlib 绘制横版堆积柱状图的代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [20, 10, 30, 25, 15]
values2 = [10, 20, 15, 30, 25]
# 绘图
fig, ax = plt.subplots(figsize=(8, 4))
ax.barh(categories, values1, label='Value 1')
ax.barh(categories, values2, left=values1, label='Value 2')
ax.set_xlabel('Value')
ax.set_ylabel('Category')
ax.set_title('Stacked Horizontal Bar Chart')
ax.legend()
plt.show()
```
希望这个代码能够帮助到您!
python matplotlib绘制百分比堆积柱状图横版
非常感谢您的问题!可以使用以下代码绘制横版的百分比堆积柱状图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 示例数据
data = {'A': [0.2, 0.4, 0.6, 0.8],
'B': [0.15, 0.3, 0.45, 0.6],
'C': [0.1, 0.2, 0.3, 0.4]}
n_groups = len(data.keys())
index = np.arange(n_groups)
bar_width = 0.2
# 绘制堆积柱状图
fig, ax = plt.subplots()
for i, (k, v) in enumerate(data.items()):
ax.barh(index + i*bar_width, v, height=bar_width, label=k)
# 设置图形属性
plt.xlabel('百分比')
plt.ylabel('类别')
plt.title('百分比堆积柱状图')
plt.yticks(index + bar_width/2, data.keys())
plt.legend()
plt.show()
```
请注意,这只是演示用的示例数据和代码,如果需要绘制自己的数据,需要做相应的修改。如果您还有任何问题,请随时问我!
阅读全文