『Plotly实战指南』--绘图初体验

今天,打算通过绘制一个简单的散点图,来开启我们 Plotly 绘图的初次尝试。

本文目的不是介绍如何绘制散点图,而是通过散点图来介绍Plotly 绘图的基础步骤。

1. 绘制散点图:初探 Plotly

散点图是展示变量关系的基础图表,在Plotly中,绘制散点图非常简单。

以下是一个示例代码:

python 复制代码
import plotly.express as px

# 准备数据
data = {
    "x": [1, 2, 3, 4, 5],
    "y": [2, 3, 5, 7, 11]
}

# 绘制散点图
fig = px.scatter(data, x="x", y="y", title="简单的散点图")
fig.show()

运行后,你会看到一个交互式散点图,数据点根据xy的值准确定位。

当你移动鼠标到散点上时,它们还会弹出身份标签,显示精确的坐标值。

Plotly的交互性让数据探索变得更加灵活。

2. 数据点定位与呈现

在散点图中,数据点的位置由xy值决定,代码中的字典data存储了这些值。

Plotlypx.scatter函数读取数据后,将点绘制在图中。

Plotly 的可视化不仅依赖数据准确性,还通过样式增强可读性和美观性。

例如,title参数为图表添加标题,交互性则让用户可以通过鼠标操作探索数据,如放大或查看数据点数值。

也就是说,使用Plotly来绘图,我们的重点只要放在自己的数据上就可以了,不用花费精力在图形的样式和交互上。

3. Plotly的幕后工作

上面的代码很简单,开头通过import plotly.express as px导入了Plotlyexpress模块。

expressPlotly的简洁易用的高层次接口,通过简单的函数调用即可生成图表。

绘制图表时,如果不需要深度的定制图表的显示,那么最常用的就是这个模块。

当我们简简单单导入import plotly.express as px时,Plotly其实已经做了:

  1. 加载核心引擎 :导入PlotlyJavaScript渲染引擎
  2. 建立翻译通道 :创建PythonWebGL之间的JSON通信协议
  3. 初始化画布:准备好交互式图表的渲染容器

当我们通过px.scatter绘制散点图时,它也自动帮我们处理了:

  1. 坐标轴的智能缩放
  2. 数据标签的自动生成
  3. 交互功能的默认配置

4. 绘图函数

使用Plotly的绘图函数,关键是准备数据,比如上面示例中,数据以字典形式存储,xy键对应横纵坐标。

px.scatter函数通过这些键读取数据并绘制,当绘制不同的图形时(比如折线图,柱状图等等),重点关注不同的函数中,对数据格式的要求。

除了数据点,Plotly也提供其他丰富的参数选项,如颜色、大小、形状等,这些参数的灵活使用能让图表更符合需求。

比如上面的px.scatter函数,通过参数color可以设置不同点的颜色,通过size参数可以控制数据点的体积大小。

python 复制代码
import pandas as pd

df = pd.DataFrame(
    {
        "x轴": [1, 3, 5],
        "y轴": [2, 4, 6],
        "分类": ["A", "B", "A"],
    }
)

px.scatter(
    df,
    x="x轴",
    y="y轴",
    color="分类",
    size="y轴",
    hover_data=["x轴", "y轴"],
)

上面的示例,通过Y轴 的数值来控制点的大小,通过分类的值来控制颜色的不同。

5. 总结

通过这次Plotly绘图的初次尝试,我们成功绘制了散点图,并深入了解了其工作原理和使用方法。

从数据点定位到可视化呈现,从导入库的原理到绘图参数的设置,Plotly 都展现了强大的功能和易用性。

无论是数据分析人员还是爱好者,Plotly 都是一个值得尝试的工具。

后续的文章将继续探索更多图表类型和高级功能,让数据呈现更加完美。

相关推荐
微信公众号:AI创造财富14 天前
构建 docket uable to prepar context: path “.“ not found
python·plotly·flask·pillow·ipython·tornado
船长@Quant15 天前
Plotly图表全面使用指南 -- Displaying Figures in Python
python·plotly·图表·图形库
wang_yb20 天前
Just:告别 Makefile 的现代命令行任务运行器
开发工具·databook
wang_yb21 天前
掌握ChangeSpeed类:让数学动画速度随心而动!
databook·manim
wang_yb1 个月前
规则学习:让机器学习像人类一样思考的可解释之路
ai·databook
wang_yb1 个月前
概率图模型:机器学习的结构化概率之道
ai·databook
wang_yb1 个月前
当机器学习遇见压缩感知:用少量数据重建完整世界
ai·databook
拓端研究室TRL1 个月前
PySpark、Plotly全球重大地震数据挖掘交互式分析及动态可视化研究
人工智能·plotly·数据挖掘
wang_yb1 个月前
稀疏表示与字典学习:让数据“瘦身”的魔法
ai·databook
wang_yb1 个月前
Manim中三种函数图像类的比较
databook·manim