python双y轴,折线图和柱形图,怎么设置折线图永远在柱形图上方
时间: 2024-10-29 17:23:54 浏览: 7
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
在Python中,通常使用matplotlib库来创建图表,包括折线图(Line Chart)和柱状图(Bar Chart)。要让折线图始终位于柱形图上方,可以使用`twinx()`函数创建两个共享X轴的不同Y轴,然后分别绘制折线图和柱状图。
以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 创建数据
line_data = [1, 2, 3, 4, 5]
bar_data = [6, 7, 8, 9, 10]
# 创建第一个Y轴(默认)
fig, ax1 = plt.subplots()
ax1.plot(line_data)
ax1.set_ylabel('折线图 Y轴', color='tab:blue')
ax1.tick_params(axis='y', labelcolor='tab:blue')
# 使用twinx()创建第二个Y轴,并将其颜色设为红色
ax2 = ax1.twinx()
ax2.bar(range(len(bar_data)), bar_data, color='tab:red')
ax2.set_ylabel('柱状图 Y轴', color='tab:red')
ax2.tick_params(axis='y', labelcolor='tab:red')
# 显示网格线,使得线条更明显
ax1.grid(True, linestyle='-.')
ax2.grid(True, linestyle=':', linewidth=0.5)
plt.show()
```
在这个示例中,`twinx()`函数在同一坐标系下创建了两个Y轴,一条用于折线图,一条用于柱状图。通过设置每个轴的颜色,我们可以清楚地区分它们。最后,记得调整网格线样式以增强视觉效果。
阅读全文