首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >组合输出时的全息图共享轴

组合输出时的全息图共享轴
EN

Stack Overflow用户
提问于 2020-01-09 09:41:37
回答 3查看 2.6K关注 0票数 9

我正在使用全息视图来构建一个图表的仪表板。其中一些图表在y轴中有百分比,而其他图表则有和/计数等。当我试图将创建的所有图表输出到html文件时,所有图表都会更改其y轴,以与我的图表列表中的第一个图表的轴相匹配。

例如:

  • 图1是一个和,值从0到1000。
  • 图2为a%
  • 图3为1%

当我在全息视图中组合这些图表时,我使用:

  • 图表=图表1+图表2+图表3

图2和图3的y轴与图1相同。

有人知道为什么会发生这种情况吗?我怎样才能修复它,这样所有的图表都能保持它们各自的轴与它们试图表示的内容相关联。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-09 10:45:22

当y轴有相同的名字时,就会发生这种情况。

,你需要使用选项axiswise=True,,如果你想要每一幅图都有它自己的独立的x轴和y轴。

在全息视图常见问题中有一个简短的轴向引用:

https://www.holoviews.org/FAQ.html

下面是我检查过并工作过的代码示例

代码语言:javascript
运行
复制
# import libraries etc.
import numpy as np
import pandas as pd
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')

# create some sample data
df1 = pd.DataFrame({
    'x': np.random.rand(10), 
    'y': np.random.rand(10),
})

df2 = pd.DataFrame({
    'x': np.random.rand(10) * 10, 
    'y': np.random.rand(10) * 10,
})

# set axiswise=True so that every plot gets its own independent x- and y-axis    
plot1 = hv.Scatter(df1).opts(axiswise=True)
plot2 = hv.Scatter(df2).opts(axiswise=True)

plot1 + plot2

或者你也可以这样做:

代码语言:javascript
运行
复制
plot1 = hv.Scatter(df1)
plot2 = hv.Scatter(df2)

(plot1 + plot2).opts(opts.Scatter(axiswise=True))

--如果当您尝试我的代码示例时,不能工作,那么您可能不得不将升级到最新版本的holoview。这样做的办法如下:

安装最新版本的holoview、hvplot、panel、datashader和param

票数 8
EN

Stack Overflow用户

发布于 2020-01-10 00:36:18

桑德的反应是正确的,并将解决你的具体问题,但在这种情况下,它可能没有解决的根本原因。HoloViews只链接相同的轴,听起来你在每一幅图的y轴上画出不同的数量。在这种情况下,真正的修复是为每个图的y轴加上一个实名,这可以区别于你可能想要在y轴上显示的其他东西。这样,HoloViews不仅不再不恰当地将轴连接起来,而且您的情节的查看者将能够分辨出每个情节显示的是不同的东西。

票数 3
EN

Stack Overflow用户

发布于 2021-05-10 19:48:42

我尝试过设置xlim和ylim,设置axiswise=True和许多其他东西,但都没有成功。

最终解决这个问题的方法是设置your_layout.opts(shared_axes=False)

阅读更多的这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59661074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档