python - Plotly - 如何在单个图中复制相同的直方图
问题描述
如何在下面的另一行上显示相同的图表?
import plotly.offline as py
import plotly.graph_objs as go
import numpy as np
x0 = np.random.normal(loc=0, scale=1, size=1000)
x1 = np.random.normal(loc=0.1, scale=0.2, size=100)
trace0 = go.Histogram(
x=x0
)
trace1 = go.Histogram(
x=x1
)
data = [trace0, trace1]
layout = go.Layout(barmode='stack')
fig = go.Figure(data=data, layout=layout)
py.plot(fig, filename='stacked histogram')
我想从中得到一个图中的单个直方图:
为此,两个相同的直方图堆叠在同一个图中:
解决方案
叠加图
只需替换barmode = 'stack'
为'overlay'
. 我将不透明度设置为 0.6,以便两个直方图可见:
import plotly.offline as py
import plotly.graph_objs as go
import numpy as np
x0 = np.random.normal(loc=0, scale=1, size=1000)
x1 = np.random.normal(loc=0.1, scale=0.2, size=100)
trace0 = go.Histogram(
x=x0,
opacity=0.6
)
trace1 = go.Histogram(
x=x1,
opacity=0.6
)
data = [trace0, trace1]
layout = go.Layout(barmode='overlay')
fig = go.Figure(data=data, layout=layout)
py.plot(fig, filename='overlaid histogram')
此代码返回以下图:
子图
如果您想要的是在 2x1 网格中重复相同的图,那么您可以使用子图在情节中实现它:
import plotly.offline as py
import plotly.graph_objs as go
import numpy as np
from plotly import tools
x0 = np.random.normal(loc=0, scale=1, size=1000)
x1 = np.random.normal(loc=0.1, scale=0.2, size=100)
trace0 = go.Histogram(
x=x0,
opacity=0.6,
name='trace 0',
marker={'color':'#1f77b4'}
)
trace1 = go.Histogram(
x=x1,
opacity=0.6,
name='trace 1',
marker={'color':'#ff7f0e'}
)
fig2 = tools.make_subplots(rows=2, cols=1, subplot_titles=('One', 'Two'))
fig2.append_trace(trace0, 1, 1)
fig2.append_trace(trace1, 1, 1)
fig2.append_trace(trace0, 2, 1)
fig2.append_trace(trace1, 2, 1)
fig2.layout['barmode'] = 'overlay'
py.plot(fig2, filename='subplots')
您需要指定名称和颜色以确保获得相同的绘图。要在每个子图上获得堆叠或重叠的直方图或其他任何内容,只需在图形布局中指定它即可。例如,要获得我在fig2.layout['barmode'] = 'overlay'
上面所做的叠加直方图。
这将为您提供以下信息:
推荐阅读
- bash - Bash:如何通过 find 和 ssh 使用带参数的函数
- reactjs - 同时单击所有按钮,而不是单击的特定按钮
- reactjs - 为什么反应选择默认值不显示
- asp.net-core - 将主页路由到区域内的索引?
- amazon-web-services - JupyterHub 上用于 AD 的 LDAPAuthenticator
- apache-spark - 为什么调用 show() 操作会在 spark 中创建两个单独的作业?
- elasticsearch - 如何在不更改设置的情况下不区分大小写进行排序
- sql - 连接服务器后批处理文件不执行 psql 查询
- android - DownloadManager - 即使有适当的权限,下载也会失败
- php - Laravel 多条目关系