我想在Plotly
极坐标图中选择角轴上的范围,我想知道最简单的方法是什么。理想情况下,如果我从 30 度到 90 度单击并拖动,那么我希望有 30 到 90 度的范围;如果我从 330 度到 30 度单击并拖动,那么我想要从 330 度到 30 度的范围。
我不太了解Plotly
,但我想知道 relayoutData 是否可以利用。目前它只返回径向轴上的范围(参见图中从relayoutData返回的范围)。我想知道是否有一个参数可以改变使其返回角轴的范围?
这是生成上图的最少代码
import json
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px
import pandas as pd
app = dash.Dash(__name__)
df = px.data.wind()
fig = px.scatter_polar(df, r="frequency", theta="direction")
app.layout = html.Div([
dcc.Graph(
id='basic-interactions',
figure=fig
),
html.Div(className='row', children=[
html.Div([
dcc.Markdown("""
**Zoom and Relayout Data**
Click and drag on the graph to zoom or click on the zoom
buttons in the graph's menu bar.
Clicking on legend items will also fire
this event.
"""),
html.Pre(id='relayout-data'),
])
])
])
@app.callback(
Output('relayout-data', 'children'),
Input('basic-interactions', 'relayoutData'))
def display_relayout_data(relayoutData):
return json.dumps(relayoutData, indent=2)
if __name__ == '__main__':
app.run_server(debug=True)