【问题标题】:Plotting a second axis with percentage on a histogram plotly chart在直方图上绘制带有百分比的第二个轴
【发布时间】:2019-11-01 07:56:39
【问题描述】:

我已经使用 plotly 和以下代码绘制了一个直方图;

import plotly
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np

from plotly.offline import init_notebook_mode
plotly.offline.init_notebook_mode(connected=True)

x0 = np.random.randn(500)
x1 = np.random.randn(500)+1

trace1 = go.Histogram(
    x=x0
)
trace2 = go.Histogram(
    x=x1
)

data = [trace1, trace2]
layout = go.Layout(barmode='stack')
fig = go.Figure(data=data, layout=layout)

plotly.offline.plot(fig)

我想补充的是图表右侧作为第二轴的总数百分比。

【问题讨论】:

    标签: python histogram plotly


    【解决方案1】:

    我不知道是否还有其他方法,但我可以考虑添加幻像跟踪作为解决方法:

    import plotly
    import plotly.plotly as py
    import plotly.graph_objs as go
    import numpy as np
    
    from plotly.offline import init_notebook_mode
    plotly.offline.init_notebook_mode(connected=True)
    
    x0 = np.random.randn(500)
    x1 = np.random.randn(500)+1
    
    trace1 = go.Histogram(
        x=x0
    )
    trace2 = go.Histogram(
        x=x1
    )
    phantom_trace = go.Histogram(
        x=np.hstack([x1, x0]),
        histnorm='percent',
        yaxis='y2',
        showlegend=False,
        hoverinfo='skip',
        marker=go.histogram.Marker(color='rgba(0,0,0,0)')
    )
    
    data = [trace1, trace2, phantom_trace]
    layout = go.Layout(
        barmode='stack',
        yaxis2=go.layout.YAxis(
            side='right',
            overlaying='y1',
            ticksuffix='%'
        )
    )
    fig = go.Figure(data=data, layout=layout)
    
    plotly.offline.plot(fig)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      相关资源
      最近更新 更多