【发布时间】:2020-06-10 16:34:40
【问题描述】:
我正在创建一个带有 holoviews 和 panel 的可视化应用程序
正如人们所看到的,这条线正在接触所有曲线不应该做的点。它应该只显示曲线或边框,如没有颜色的面积图。
我正在根据here提供的示例构建此可视化
columns = sorted(data.columns)
discrete = [x for x in columns if data[x].dtype == object or len(data[x].unique()) < 6]
quantileable = [x for x in columns if x not in discrete or data[x].dtype == '<M8[ns]']
x = pnw.Select(name='X-Axis', value='date', options=quantileable)
y = pnw.Select(name='Y-Axis', value='height_g', options=quantileable)
size = pnw.Select(name='Size', value='None', options=['None'] + quantileable)
@pn.depends(x.param.value, y.param.value, size.param.value)
def create_figure(x, y, size):
if size != 'None':
opts['size'] = hv.dim(size).norm()*5
return hv.Curve(data, [x, y], label="%s vs %s" % (x.title(), y.title()))
widgets = pn.WidgetBox(x, y, size, width=200)
pn.Row(widgets, create_figure).servable('Cross-selector')
我怎样才能让它看起来整洁?
【问题讨论】:
-
Curve 会将每个点连接到其相邻的邻居,在这种情况下,您的点似乎没有按日期排序(或其他任何明显有用的东西!)。如果要按日期绘制数据,请先尝试按日期对数据进行排序?
-
它可以工作,但是如何在运行时对列进行排序。这就像某个事件,然后当用户单击 x_axis 处的“日期”然后在 x_axis 处排序或第二维然后排序。有什么想法吗?
-
想必你可以在调用hv.Curve之前对
create_figure里面的数据进行排序...