fig, axs = pyplot.subplots(figsize=(width, 5)) axs.plot(data_1, index_1,color=color) ax2 = axs.twinx() dataFrame = pandas.DataFrame(data={k:data}, index=index) dataFrame.plot.bar(ax=ax2,rot=15, title=f"Timeseries analysis for {city}: {d} ({k})",alpha=foreground_opacity) pyplot.close()

图中有多个Y轴。

左边Y轴上绘制的数据总是以背景显示

在右Y轴上绘制的数据总是显示在背景中。

我想把背景换成前景,反之亦然。

1 个评论
Tom
你是否尝试过使用 zorder when plotting?
python
matplotlib
Nazmus Sakib
Nazmus Sakib
发布于 2020-12-05
1 个回答
r-beginners
r-beginners
发布于 2020-12-05
已采纳
0 人赞同

我认为你可以先画柱状图,然后再画折线图。对绘制的顺序有什么限制吗?

import matplotlib.pyplot as plt
import pandas as pd
data = [10,20,30,40,50]
index = [0,1,2,3,4]
data_1 = [25,15,35,45,55]
foreground_opacity = 1.0
dataFrame = pd.DataFrame({'data':data}, index=index)
# fig, ax2 = plt.subplots(figsize=(10, 5))
axs = dataFrame.plot.bar(rot=15, alpha=foreground_opacity, figsize=(10, 5))
ax = axs.twinx()
ax.plot(index, data_1, color='r', lw=3)