gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 07:10:19 26 4
gpt4 key购买 nike

下图是我尝试在Python中使用Plotly(代码在最底部)来绘制2x2图。 enter image description here

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

  1. 每个子图的边框
  2. 在所有绘图上同步平移和缩放。虽然我使用的是shared_xaxes和shared_yaxes,但它仅适用于子图的行和列。因此,如果我在左下图上平移,右上图将保持不变。
  3. 用于标记子图的侧标签。参见例如enter image description here

任何帮助将不胜感激。下面是到目前为止我的代码。

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%,至少目前实际可行的情况是这样:

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

2.您现在已经非常接近了

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

plotly :

enter image description here

代码:

#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()

关于python - Plotly:如何向子图添加边框和侧标签,并同步平移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com