我正在尝试使该行显示在栏上。似乎具有secondary_y=True
的任何迹线都将绘制在secondary_y=False
的迹线之上。
很好,但是对于这个特定的数据集,条形图的轴应该在右边,因为否则该图会造成混淆。线是在1-3范围内的线,而横线是在0-35k范围内的线。
换句话说,它看起来应该像这样,但是要切换y轴。有什么方法可以切换轴或控制其绘制轨迹的顺序,以便我可以将线强制置于条形图的顶部?
import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots
from plotly.offline import init_notebook_mode, plot
init_notebook_mode()
rdf = pd.read_csv('us_covid_data_latest.csv', dtype={'fips':str})
incidence = pd.pivot_table(rdf, values='cases', index = 'date', aggfunc=np.sum)
incidence['actual_inc'] = incidence['cases'].diff()
def tail_plot_plotly(tail):
fig = make_subplots(specs=[[{"secondary_y": True}]])
fig.add_trace(
go.Bar(
x= incidence['date'].tail(tail),
y= incidence['actual_inc'].tail(tail)
),
secondary_y = False
)
fig.add_trace(
go.Scatter(
x= incidence['date'].tail(tail),
y= incidence['R_t'].tail(tail)
),
secondary_y = True
)
plot(fig)
tail_plot_plotly(50)
如果没有数据集样本,提供完整的解决方案并不容易,但我仍然认为我已经解决了。我现在有点着急,所以我将其简短化:
条是大数字,线是小数字。开箱即用的fig = make_subplots(specs=[[{"secondary_y": True}]])
将提供此信息:
顶部的线迹=好。左侧的小节编号=错误。
更改将不同迹线应用于图形的顺序无济于事。但是,您可以自由指定要在主坐标轴和副坐标y轴显示在绘图的哪一侧,如下所示:
fig.update_layout(dict(yaxis2={'anchor': 'x', 'overlaying': 'y', 'side': 'left'},
yaxis={'anchor': 'x', 'domain': [0.0, 1.0], 'side':'right'}))
将其添加到组合中,您将获得:
顶部的线迹=好。右边的杠号=好。
包含数据样本的完整代码:
Will be added...