• <i id='AVSTB'><tr id='AVSTB'><dt id='AVSTB'><q id='AVSTB'><span id='AVSTB'><b id='AVSTB'><form id='AVSTB'><ins id='AVSTB'></ins><ul id='AVSTB'></ul><sub id='AVSTB'></sub></form><legend id='AVSTB'></legend><bdo id='AVSTB'><pre id='AVSTB'><center id='AVSTB'></center></pre></bdo></b><th id='AVSTB'></th></span></q></dt></tr></i><div id='AVSTB'><tfoot id='AVSTB'></tfoot><dl id='AVSTB'><fieldset id='AVSTB'></fieldset></dl></div>
    <legend id='AVSTB'><style id='AVSTB'><dir id='AVSTB'><q id='AVSTB'></q></dir></style></legend>
    <tfoot id='AVSTB'></tfoot>
    • <bdo id='AVSTB'></bdo><ul id='AVSTB'></ul>

    <small id='AVSTB'></small><noframes id='AVSTB'>

        Plotly:如何为子图添加边框和侧标签,并同步平移?

        时间:2023-09-28
          <bdo id='CERKi'></bdo><ul id='CERKi'></ul>

                <tbody id='CERKi'></tbody>

              <small id='CERKi'></small><noframes id='CERKi'>

              <legend id='CERKi'><style id='CERKi'><dir id='CERKi'><q id='CERKi'></q></dir></style></legend>
                  <i id='CERKi'><tr id='CERKi'><dt id='CERKi'><q id='CERKi'><span id='CERKi'><b id='CERKi'><form id='CERKi'><ins id='CERKi'></ins><ul id='CERKi'></ul><sub id='CERKi'></sub></form><legend id='CERKi'></legend><bdo id='CERKi'><pre id='CERKi'><center id='CERKi'></center></pre></bdo></b><th id='CERKi'></th></span></q></dt></tr></i><div id='CERKi'><tfoot id='CERKi'></tfoot><dl id='CERKi'><fieldset id='CERKi'></fieldset></dl></div>
                  <tfoot id='CERKi'></tfoot>
                  本文介绍了Plotly:如何为子图添加边框和侧标签,并同步平移?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  下图是我尝试在 Python 中使用 Plotly(代码在最底部)进行 2x2 绘图.

                  The following graph is my attempt to use Plotly in Python (code at the very bottom) to do 2x2 plot.

                  我正在尝试改进图表,但我似乎无法执行以下操作:

                  I am trying to improve the graph but I can't seem to do the following:

                  1. 每个子图的边界
                  2. 在所有绘图中同步平移和缩放.虽然我使用的是 shared_xaxes 和 shared_yaxes,但它只适用于子图的行和列.因此,如果我在左下方的图表上平移,右上方的图表保持不动.
                  3. 用于标记子图的侧标签.参见例如

                  任何帮助将不胜感激.以下是我目前的代码.

                  Any help would be much appreciated. Below is my code so far.

                  import plotly.offline as poff
                  import plotly.tools as tls
                  
                  x = list(range(10,20))
                  y = x
                  y1 = [10-i for i in x]
                  y2 = [abs(i-5) for i in x]
                  y3 = [abs(2*i- 5) for i in x]
                  
                  fig = tls.make_subplots(rows=2, cols=2, shared_xaxes=True, shared_yaxes=True,
                                          vertical_spacing=0.01,
                                          horizontal_spacing=0.01, print_grid=True)
                  fig.append_trace(go.Scatter({'x':x, 'y':y, 'name':'A1'},), 1, 1)
                  fig.append_trace(go.Scatter({'x':x, 'y':y1, 'name':'B2'},), 2, 2)
                  fig.append_trace(go.Scatter({'x':x, 'y':y2, 'name':'A2'},), 2, 1)
                  fig.append_trace(go.Scatter({'x':x, 'y':y3, 'name':'B1'},), 1, 2)
                  
                  fig['layout'].update(title='Multiple Subplots')
                  url = poff.plot(fig, filename="test23.html")
                  

                  推荐答案

                  这是一个建议,应该非常接近 100%,至少在实际可行的情况下瞬间:

                  Here's a suggestion that should be very close to 100%, at least regarding what's actually possible at the moment:

                  1. 子图边界:fig_update_xaxes(mirror=True)

                  2.你现在已经很接近了

                  3. 侧标签:fig['layout']['xaxis']['title']='Label x-axis 1'

                  剧情:

                  代码:

                  #import plotly.offline as poff
                  #import plotly.tools as tls
                  
                  from plotly.subplots import make_subplots
                  import plotly.graph_objects as go
                  import pandas as pd
                  
                  x = list(range(10,20))
                  y = x
                  y1 = [10-i for i in x]
                  y2 = [abs(i-5) for i in x]
                  y3 = [abs(2*i- 5) for i in x]
                  
                  fig = make_subplots(rows=2, cols=2, shared_xaxes=True, shared_yaxes=True,
                                      #vertical_spacing=0.1,
                                      #horizontal_spacing=0.05,
                                      print_grid=True,)
                  
                  fig.append_trace(go.Scatter({'x':x, 'y':y, 'name':'A1'},), 1, 1)
                  fig.append_trace(go.Scatter({'x':x, 'y':y1, 'name':'B2'},), 2, 2)
                  fig.append_trace(go.Scatter({'x':x, 'y':y2, 'name':'A2'},), 2, 1)
                  fig.append_trace(go.Scatter({'x':x, 'y':y3, 'name':'B1'},), 1, 2)
                  
                  fig['layout'].update(title='Multiple Subplots')
                  
                  fig.update_xaxes(showline=True, linewidth=1, linecolor='black', mirror=True)
                  fig.update_yaxes(showline=True, linewidth=1, linecolor='black', mirror=True)
                  
                  # edit axis labels
                  fig['layout']['xaxis']['title']='Label x-axis 1'
                  fig['layout']['xaxis2']['title']='Label x-axis 2'
                  
                  fig['layout']['xaxis3']['title']='Label x-axis 3'
                  fig['layout']['xaxis4']['title']='Label x-axis 4'
                  
                  fig['layout']['yaxis']['title']='Label y-axis 1'
                  fig['layout']['yaxis2']['title']='Label y-axis 2'
                  
                  fig['layout']['yaxis3']['title']='Label x-axis 3'
                  fig['layout']['yaxis4']['title']='Label x-axis 4'
                  
                  fig.show()
                  

                  这篇关于Plotly:如何为子图添加边框和侧标签,并同步平移?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Plotly:如何使用 plotly express 在辅助 y 轴上绘图 下一篇:Plotly:如何使用 Plotly Express 组合散点图和线图?

                  相关文章

                    <tfoot id='xUQW8'></tfoot>
                    <i id='xUQW8'><tr id='xUQW8'><dt id='xUQW8'><q id='xUQW8'><span id='xUQW8'><b id='xUQW8'><form id='xUQW8'><ins id='xUQW8'></ins><ul id='xUQW8'></ul><sub id='xUQW8'></sub></form><legend id='xUQW8'></legend><bdo id='xUQW8'><pre id='xUQW8'><center id='xUQW8'></center></pre></bdo></b><th id='xUQW8'></th></span></q></dt></tr></i><div id='xUQW8'><tfoot id='xUQW8'></tfoot><dl id='xUQW8'><fieldset id='xUQW8'></fieldset></dl></div>

                      • <bdo id='xUQW8'></bdo><ul id='xUQW8'></ul>

                    1. <legend id='xUQW8'><style id='xUQW8'><dir id='xUQW8'><q id='xUQW8'></q></dir></style></legend>

                      <small id='xUQW8'></small><noframes id='xUQW8'>