打印短划线自定义组件。将plotly.extendTraces()支持添加到Dash_core_components.graph()

dash-extendable-graph的Python项目详细描述


虚线可扩展图

PyPIPyPI - Python VersionPyPI - License

破折号可扩展图是一个破折号组件库此库包含单个组件:ExtendableGraph组件是dash-core-components(v 1.1.1)的graph()组件的分支。但是,此组件的extendData已被修改为遵循与figure['data']格式匹配的api(与定义的api Graph.extendDataPlotly.extendTraces()相反)。

注意:plotly.js是必需的。但是,库并没有显式地列在MANIFEST.indash_extendable_graph\__init__.py中,以减少束大小。plotly.js已经与Dash核心组件包一起发布,大多数项目将导入DCC和Dash可扩展图。

安装

开始使用:

  1. 安装破折号和依赖项:https://dash.plot.ly/installation
$ pip install -r requirements.txt
  1. 安装仪表板可扩展图
$ pip install dash-extendable-graph
  1. 运行python usage.py
  2. 访问网页浏览器中的http://localhost:8050

用法

一般示例可以在usage.py

中找到。

扩展数据属性

  1. updateData[list]:一个字典列表,每个字典都包含表示跟踪数据(例如dict(x=[1], y=[1])
  2. traceIndices[列表,可选]:标识应扩展的跟踪。如果不存在指定的跟踪索引,则相应的跟踪将附加到该图中。
  3. {< CD13> } [数字,可选]:定义在图中绘制的最大点数(每个迹线)。

基于^{} api但是,updateData键已被修改以更好地匹配Plotly.plot()的内容(例如Graph.figure)除了使用熟悉的破折号样式外,此组件还允许用户在单个调用中扩展不同类型的跟踪(Plotly.extendTraces()接受key:val映射,并假定所有跟踪都将共享相同的数据键)

代码

每秒扩展一次跟踪,限制为100个最大点。

importdash_extendable_graphasdegimportdashfromdash.dependenciesimportInput,Output,Stateimportdash_html_componentsashtmlimportdash_core_componentsasdccimportrandomapp=dash.Dash(__name__)app.scripts.config.serve_locally=Trueapp.css.config.serve_locally=Trueapp.layout=html.Div([deg.ExtendableGraph(id='extendablegraph_example',figure=dict(data=[{'x':[0],'y':[0],'mode':'lines+markers'}],)),dcc.Interval(id='interval_extendablegraph_update',interval=1000,n_intervals=0,max_intervals=-1),html.Div(id='output')])@app.callback(Output('extendablegraph_example','extendData'),[Input('interval_extendablegraph_update','n_intervals')],[State('extendablegraph_example','figure')])defupdate_extendData(n_intervals,existing):x_new=existing['data'][0]['x'][-1]+1y_new=random.random()return[dict(x=[x_new],y=[y_new])],[0],100if__name__=='__main__':app.run_server(debug=True)

贡献

CONTRIBUTING.md

本地安装

  1. 依赖关系
$ npm install
$ virtualenv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -r tests/requirements.txt
  1. 构建
$ npm run build
  1. 通过组件操场查看组件
$ npm run start
The demo app is in `src/demo`
  1. 使用组件查看示例Dash应用程序
$ python setup.py install
$ python usage.py

测试

组件的集成测试可以在tests/中找到

$pytest --headless tests

(注意:--headless参数在没有gui的情况下运行测试)

创建生产版本并发布:

$ npm run build
$ rm -rf dist
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
$ npm publish

通过将tarball复制到新环境中并在本地安装来测试它:

$ pip install dash_extendable_graph-X.X.X.tar.gz

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java查找事件分派线程冲突   java画布。DrawBitmap()不会在安卓上绘制任何内容!!:(   ruby+appium或java+appium用于移动本机应用程序自动化   java Jersey REST字符编码   java使用json将字符串转换为Arraylist   java如何在Groovy中检查字符串是否与模式匹配   java如何在抽象arraylist中添加抽象arraylist   Java servlets,JSP更改内容od DIV   java在J2ME中通过http发送和接收数据,并处理菜单和屏幕   Jar文件与JAVA类路径的结合   java按钮不可见,它将连接安卓 studio中的另一个活动   java是否可以使用SFTP JSch库进行多部分文件上载?   facelet中ui:composition和ui:decoration的java差异   java得到的数字不能被任何东西除   java logback:SizeAndTimeBasedRollingPolicy不删除包含4位“%i”的文件   java数据库管理器将连接“借用”到数据库   java javaFx标签wrapText不起作用   java是否可以在同一个系统上同时运行两台服务器?或者,当XAMPP/WAMP未运行时,如何在Eclipse中执行MySQL查询?   递归Java编程