python - 散景。如何匹配多个y轴的比例?
问题描述
我想绘制一个具有相同比例的多个 y 轴的折线图。例如,我绘制了一个图形,左侧有一个主 y 轴,右侧有三个辅助 y 轴,比例不同:在此处输入图像描述。
有没有办法使辅助 y 轴具有与主 y 轴相同的比例?我想我应该做点什么Range1d
,但我不确定......
以下是我的代码;
# figure size
p = figure(width=900, height=300)
# primary axis
p.line(x='date_time', y='t1_posX', source=df_trial, line_width=2, color="blue")
p.y_range = Range1d(df_trial['t1_posX'].min(), df_trial['t1_posX'].max())
# secondary axes
p.extra_y_ranges = {
"t1_posZ": Range1d(
start=df_trial['t1_posZ'].min(),
end=df_trial['t1_posZ'].max()
),
"t2_posX": Range1d(
start=df_trial['t2_posX'].min(),
end=df_trial['t2_posX'].max()
),
"t2_posZ": Range1d(
start=df_trial['t2_posZ'].min(),
end=df_trial['t2_posZ'].max()
)
}
# add the secondary axes to the primary axis
p.add_layout(LinearAxis(y_range_name='t1_posZ'), "right")
p.add_layout(LinearAxis(y_range_name='t2_posX'), "right")
p.add_layout(LinearAxis(y_range_name='t2_posZ'), "right")
# plot the data
p.line(x='date_time', y='t1_posZ', source=df_trial, line_width=2, y_range_name='t1_posZ', color="red")
p.line(x='date_time', y='t2_posX', source=df_trial, line_width=2, y_range_name='t2_posX', color="green")
p.line(x='date_time', y='t2_posZ', source=df_trial, line_width=2, y_range_name='t2_posZ', color="pink")
# format the timestamp on the x-axis
p.xaxis.formatter=DatetimeTickFormatter(
microseconds = ['%H:%M:%S.%f'],
milliseconds = ['%H:%M:%S.%3N'],
seconds = ["%H:%M:%S"],
minsec = ["%H:%M:%S"],
minutes = ["%H:%M:%S"],
hourmin = ["%H:%M:%S"],
hours=["%H:%M:%S"]
)
show(p)
解决方案
推荐阅读
- matlab - 哪些字体实际上可用于 MATLAB 图形文本?
- android - 垂直滚动不适用于 Android 原生基础中的 Card
- java - 是否可以通过在 java 中传递日期名称来查找日期编号?
- delphi - 阻塞画布
- react-native - android中的动态数据选择器。但它给了我一个错误“无法读取 null 的属性”
- ionic-framework - 在 ionic 3 中添加离开或留在页面警报?
- android - Android Studio 构建错误:执行任务':app.processDebugResources'
- ios - Firebase InstanceId 未解析的标识符 swift4
- powershell - ? 添加到 String Powershell
- wordpress - HTML 标记未正确呈现 - 读取文本文件 - wrpdress