如何使用基于垂直的数据(测井)绘制线图?
How to plot line plot with vertical-based data (well-log)?
我试图在 Altair 中使用 mark_line 函数将地球物理数据(测井数据)绘制成散点图,但线图不是从上到下连接点/点,而是从左右。如果你看左边的图,数据垂直分布很清楚,中间是使用mark_line的结果,右边是我想要的,只是翻转了X和Y轴。
有什么方法可以使绘图的行为与左图一样,但采用行编码?
或者可能是某种形式的 hack 来翻转右图的显示?
chart1 = alt.Chart(w).mark_point(color='green').encode(
alt.X('GR', scale=alt.Scale(domain=[0,300])),
alt.Y('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart2 = alt.Chart(w).mark_line(color='green').encode(
alt.X('GR', scale=alt.Scale(domain=[0,300])),
alt.Y('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart3 = alt.Chart(w).mark_line(color='green').encode(
alt.Y('GR', scale=alt.Scale(domain=[0,300])),
alt.X('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart1 | chart2 | chart3
Plot using Altair
对于那些需要更多信息的人,这是来自钻孔地球物理数据/测井的典型数据集。数据 (GR) 以垂直线显示,与深度 (DEPT) 相对。
感谢您的帮助!
根据我目前的测试,使用 mark_line
的 Altair 散点图将始终默认遵循 X-axis。因此,如果要在 Y-axis 上绘制数据,则必须指定连接线的 order。在下面,我添加了order = 'DEPT'
,这是情节中的Y-axis。
alt.Chart(
w
).mark_line(
color='green',
point=True,
).encode(
alt.X('GR', scale=alt.Scale(domain=[0,250])),
alt.Y('DEPT', sort = 'descending',scale=alt.Scale(domain=[7000, 7030])),
order = 'DEPT' #this has to be added to make sure the plot is following the order of Y-axis, DEPT
).configure_mark(
color = 'red'
).interactive()
结果:
我试图在 Altair 中使用 mark_line 函数将地球物理数据(测井数据)绘制成散点图,但线图不是从上到下连接点/点,而是从左右。如果你看左边的图,数据垂直分布很清楚,中间是使用mark_line的结果,右边是我想要的,只是翻转了X和Y轴。
有什么方法可以使绘图的行为与左图一样,但采用行编码?
或者可能是某种形式的 hack 来翻转右图的显示?
chart1 = alt.Chart(w).mark_point(color='green').encode(
alt.X('GR', scale=alt.Scale(domain=[0,300])),
alt.Y('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart2 = alt.Chart(w).mark_line(color='green').encode(
alt.X('GR', scale=alt.Scale(domain=[0,300])),
alt.Y('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart3 = alt.Chart(w).mark_line(color='green').encode(
alt.Y('GR', scale=alt.Scale(domain=[0,300])),
alt.X('DEPT', scale=alt.Scale(domain=[7000, 7100])),
).interactive()
chart1 | chart2 | chart3
Plot using Altair
对于那些需要更多信息的人,这是来自钻孔地球物理数据/测井的典型数据集。数据 (GR) 以垂直线显示,与深度 (DEPT) 相对。
感谢您的帮助!
根据我目前的测试,使用 mark_line
的 Altair 散点图将始终默认遵循 X-axis。因此,如果要在 Y-axis 上绘制数据,则必须指定连接线的 order。在下面,我添加了order = 'DEPT'
,这是情节中的Y-axis。
alt.Chart(
w
).mark_line(
color='green',
point=True,
).encode(
alt.X('GR', scale=alt.Scale(domain=[0,250])),
alt.Y('DEPT', sort = 'descending',scale=alt.Scale(domain=[7000, 7030])),
order = 'DEPT' #this has to be added to make sure the plot is following the order of Y-axis, DEPT
).configure_mark(
color = 'red'
).interactive()
结果: