pythonols函数 python中iloc函数( 三 )


主题(Themes)允许您控制图形范围的设置,如边距、字体、背景颜色、刻度定位等 。您可以使用模板参数应用任何命名的主题或主题对象:
有三个内置的 Plotly 主题可以使用 ,  分别是 plotly,plotlywhite 和 plotlydark 。
px 输出继承自 Plotly.py 的 Figure 类 ExpressFigure 的对象 , 这意味着你可以使用任何 Figure 的访问器和方法来改变 px生成的绘图 。例如 , 您可以将 .update() 调用链接到 px 调用以更改图例设置并添加注释 。.update() 现在返回修改后的数字,所以你仍然可以在一个很长的 Python 语句中执行此操作:
在这里,在使用 Plotly Express 生成原始图形之后,我们使用 Plotly.py 的 API 来更改一些图例设置并添加注释 。
Dash 是 Plotly 的开源框架 , 用于构建具有 Plotly.py 图表的分析应用程序和仪表板 。Plotly Express 产生的对象与 Dash 100%兼容,只需将它们直接传递到 dash_core_components.Graph,如下所示: dcc.Graph(figure = px.scatter(...)) 。这是一个非常简单的 50行 Dash 应用程序的示例,它使用 px 生成其中的图表:
这个 50 行的 Dash 应用程序使用 Plotly Express 生成用于浏览数据集的 UI。
可视化数据有很多原因:有时您想要提供一些想法或结果,并且您希望对图表的每个方面施加很多控制 , 有时您希望快速查看两个变量之间的关系 。这是交互与 探索 的范畴 。
Plotly.py 已经发展成为一个非常强大的可视化交互工具:它可以让你控制图形的几乎每个方面 , 从图例的位置到刻度的长度 。不幸的是 , 这种控制的代价是冗长的:有时可能需要多行 Python 代码才能用 Plotly.py 生成图表 。
我们使用 Plotly Express 的主要目标是使 Plotly.py 更容易用于 探索 和快速迭代 。
我们想要构建一个库 , 它做出了不同的权衡:在可视化过程的早期牺牲一些控制措施来换取一个不那么详细的 API,允许你在一行 Python 代码中制作各种各样的图表 。然而,正如我们上面所示,该控件并没有消失:你仍然可以使用底层的 Plotly.py 的 API 来调整和优化用 Plotly Express 制作的图表 。
支持这种简洁 API 的主要设计决策之一是所有 Plotly Express 的函数都接受“整洁”的 dataframe 作为输入 。每个 Plotly Express 函数都体现了dataframe 中行与单个或分组标记的清晰映射,并具有图形启发的语法签名,可让您直接映射这些标记的变量,如 x 或 y 位置、颜色、大小、 facet-column 甚至是 动画帧到数据框(dataframe)中的列 。当您键入 px.scatter(data,x ='col1',y='col2') 时,Plotly Express 会为数据框中的每一行创建一个小符号标记 - 这就是 px.scatter 的作用 - 并将 “col1” 映射到 x 位置(类似于 y 位置) 。这种方法的强大之处在于它以相同的方式处理所有可视化变量:您可以将数据框列映射到颜色,然后通过更改参数来改变您的想法并将其映射到大小或进行行分面(facet-row) 。
接受整个整洁的 dataframe 的列名作为输入(而不是原始的 numpy 向量)也允许 px 为你节省大量的时间 , 因为它知道列的名称,它可以生成所有的 Plotly.py 配置用于标记图例、轴、悬停框、构面甚至动画帧 。但是,如上所述,如果你的 dataframe 的列被笨拙地命名,你可以告诉 px 用每个函数的 labels 参数替换更好的 。
仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:您整理一次数据集 , 从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等,所有这些都不需要重塑您的数据!

推荐阅读