Plotly - как воспроизвести одну и ту же гистограмму в одном графике - PullRequest
0 голосов
/ 12 января 2019

Как разместить этот же график в другом ряду ниже?

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')

Я хочу получить от этого одну гистограмму на одном графике:

enter image description here

По этой причине две одинаковые гистограммы сложены на одном графике:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 12 января 2019

Наложенные участки

Просто замените 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')

Этот код возвращает следующий график:

enter image description here

* 1015 Андрос и Норрис * Если вам нужно повторить тот же график в сетке 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' выше. Это даст вам следующее: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...