怎么用python绘制从右到左的柱状堆积图,再加一条折线
时间: 2023-08-16 13:21:01 浏览: 43
你可以使用Matplotlib库来绘制从右到左的柱状堆积图和折线。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
data = np.random.rand(4, 5)
# 绘制从右到左的柱状堆积图
fig, ax = plt.subplots()
colors = ['r', 'g', 'b', 'y']
for i in range(len(data)):
ax.barh(range(len(data[i])), data[i], color=colors[i], left=np.sum(data[:i], axis=0), align='center')
# 添加折线
line_data = np.random.rand(5)
ax.plot(line_data, range(len(line_data)), 'k--')
# 设置图例和轴标签
ax.legend(['Line', 'A', 'B', 'C', 'D'])
ax.set_xlabel('Value')
ax.set_ylabel('Category')
plt.show()
```
该代码将生成一个从右到左的柱状堆积图,每个柱状图都有不同的颜色,并添加了一条黑色虚线折线。你可以更改示例数据和颜色来适应你的数据。
相关问题
用Python绘制一个折线图和柱状图
可以使用Python的matplotlib库来绘制折线图和柱状图。首先导入matplotlib,然后调用matplotlib.pyplot.plot()函数绘制折线图,调用matplotlib.pyplot.bar()函数绘制柱状图。
用seaborn绘制堆积柱状图和折线图到一张画布上
以下是一个绘制堆积柱状图和折线图到一张画布上的示例代码:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 创建数据
data = sns.load_dataset("tips")
# 绘制堆积柱状图
sns.catplot(x="day", y="total_bill", hue="sex", kind="bar", data=data, ci=None)
# 绘制折线图
ax = plt.gca()
sns.lineplot(x="day", y="tip", data=data, ax=ax)
# 设置图例和标签
plt.legend(title="Sex", loc="upper left", labels=["Female", "Male"])
plt.xlabel("Day")
plt.ylabel("Amount")
plt.title("Total Bill and Tip by Day and Sex")
# 显示图形
plt.show()
```
运行以上代码,将会绘制出一个堆积柱状图和折线图到一张画布上,如下图所示:
![stacked bar and line chart](https://i.imgur.com/woyG6Pm.png)