首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表面子图中,颜色条显示在子图的外部,带有Plotly和all overlapping

在表面子图中,颜色条显示在子图的外部,带有Plotly和all overlapping
EN

Stack Overflow用户
提问于 2020-11-19 00:22:17
回答 1查看 84关注 0票数 0

我希望看到每个表面子图旁边都有它自己的颜色条。取而代之的是,我的代码获取图右侧相互重叠的子图的所有颜色条。我不清楚我的代码出了什么问题。我该怎么纠正它呢?

代码如下:

代码语言:javascript
复制
def bern(theta, z, N):
    
    """Bernoulli likelihood with N trials and z successes."""
    
    return np.clip(theta**z * (1-theta)**(N-z), 0, 1)

def bern2(theta1, theta2, z1, z2, N1, N2):
    
    """Bernoulli likelihood with N trials and z successes."""
    
    return bern(theta1, z1, N1) * bern(theta2, z2, N2)

def make_thetas(xmin, xmax, n):
    
    xs = np.linspace(xmin, xmax, n)
    
    widths =(xs[1:] - xs[:-1])/2.0
    
    thetas = xs[:-1]+ widths
    
    return thetas

thetas1 = make_thetas(0, 1, 101)

thetas2 = make_thetas(0, 1, 101)

X, Y = np.meshgrid(thetas1, thetas2)

a = 2

b = 3

z1 = 11

N1 = 14

z2 = 7

N2 = 14

prior = stats.beta(a, b).pdf(X) * stats.beta(a, b).pdf(Y)

likelihood = bern2(X, Y, z1, z2, N1, N2)


posterior = stats.beta(a + z1, b + N1 - z1).pdf(X) * stats.beta(a + z2, b + N2 - z2).pdf(Y)

fig = make_subplots(rows=1, cols=3, specs= [[{'is_3d': True}, {'is_3d': True}, {'is_3d': True}]], subplot_titles=('Prior', 'Likelihood', 'Posterior'))

fig.add_trace(go.Surface(z= prior,  showscale= True), 1, 1)




fig.add_trace(go.Surface(z= likelihood,  showscale= True), 1, 2)




fig.add_trace(go.Surface(z= posterior,  showscale= True),1,3, False)

fig.update_layout(title='Prior - Likelihood - Posterior', autosize= True,
                  width= 1300, height=600,
                  margin=dict(l=65, r=50, b=65, t=90))


fig.show()

代码的输出是这样的:

EN

回答 1

Stack Overflow用户

发布于 2021-04-10 01:26:55

所以你有3个曲面,它们都是"showscale=True“,没有指定特定的位置。您可以使用以下命令在绘图上移动它们,甚至调整其大小

代码语言:javascript
复制
colorbar=dict(len=0.5, x=0.8)

如下所示:

代码语言:javascript
复制
fig.add_trace(go.Surface(z= likelihood,showscale= True,colorbar=dict(len=0.5, x=0.8)), 1, 2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64897100

复制
相关文章

相似问题

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