matlab datatip,有没有类似于Matlabs Datatip的datatip类或在python破折号中编写脚本的方法?...

import numpy as np

import dash

import dash_core_components as dcc

import dash_html_components as html

from dash.dependencies import Input, Output, Event

from textwrap import dedent as d

import json

import plotly.graph_objs as go

N = 1000

random_x = np.random.randn(N)

random_y = np.random.randn(N)

#Dash appliction boiler plate

app = dash.Dash()

app.css.config.serve_locally = True

app.scripts.config.serve_locally = True

styles = {

'pre': {

'border': 'thin lightgrey solid',

'overflowX': 'scroll'

}

}

# Edit your markup here

app.layout = html.Div([

html.H1('Wielding Data'),

dcc.Graph(id='basic-interactions'),

html.Div(className='row', children=[

html.Div([

dcc.Markdown(d("""

**Hover Data**

Mouse over values in the graph.

""")),

html.Pre(id='hover-data', style=styles['pre'])

], className='three columns'),

html.Div([

dcc.Markdown(d("""

**Click Data**

Click on points in the graph.

""")),

html.Pre(id='click-data', style=styles['pre']),

], className='three columns'),

html.Div([

dcc.Markdown(d("""

**Selection Data**

Choose the lasso or rectangle tool in the graph's menu

bar and then select points in the graph.

""")),

html.Pre(id='selected-data', style=styles['pre']),

], className='three columns'),

html.Div([

dcc.Markdown(d("""

**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', style=styles['pre']),

], className='three columns')

])

])

@app.callback(

Output('basic-interactions','figure'),

[Input('basic-interactions','clickData')

])

def update_graph(clickData):

if not clickData:

x_value=[]

y_value=[]

else:

x_value = clickData['points'][0]['x']

y_value = clickData['points'][0]['y']

return{'data': [go.Scatter(

x=random_x,

y=random_y,

mode = 'markers'

)

],

'layout': {'hovermode': 'closest',

'annotations':[{

'x':x_value,

'y':y_value,

'arrowhead': 6,

'xref':'x',

'yref':'y',

'text':'X:' + str(x_value) + '\n' + 'Y:' + str(y_value),

'ax':0,

'ay':-20}]}}

@app.callback(

Output('hover-data', 'children'),

[Input('basic-interactions', 'hoverData')])

def display_hover_data(hoverData):

return json.dumps(hoverData, indent=2)

@app.callback(

Output('click-data', 'children'),

[Input('basic-interactions', 'clickData')])

def display_click_data(clickData):

print(clickData)

return json.dumps(clickData, indent=2)

@app.callback(

Output('selected-data', 'children'),

[Input('basic-interactions', 'selectedData')])

def display_selected_data(selectedData):

return json.dumps(selectedData, indent=2)

@app.callback(

Output('relayout-data', 'children'),

[Input('basic-interactions', 'relayoutData')])

def display_selected_data(relayoutData):

return json.dumps(relayoutData, indent=2)

if __name__ == '__main__':

app.run_server(debug=False)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值