今天,打算通过绘制一个简单的散点图,来开启我们 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()
运行后,你会看到一个交互式散点图,数据点根据x
和y
的值准确定位。
当你移动鼠标到散点上时,它们还会弹出身份标签,显示精确的坐标值。
Plotly
的交互性让数据探索变得更加灵活。
2. 数据点定位与呈现
在散点图中,数据点的位置由x
和y
值决定,代码中的字典data
存储了这些值。
Plotly
的px.scatter
函数读取数据后,将点绘制在图中。
Plotly
的可视化不仅依赖数据准确性,还通过样式增强可读性和美观性。
例如,title
参数为图表添加标题,交互性则让用户可以通过鼠标操作探索数据,如放大或查看数据点数值。
也就是说,使用Plotly
来绘图,我们的重点只要放在自己的数据上就可以了,不用花费精力在图形的样式和交互上。
3. Plotly的幕后工作
上面的代码很简单,开头通过import plotly.express as px
导入了Plotly
的express
模块。
express
是Plotly
的简洁易用的高层次接口,通过简单的函数调用即可生成图表。
绘制图表时,如果不需要深度的定制图表的显示,那么最常用的就是这个模块。
当我们简简单单导入import plotly.express as px
时,Plotly
其实已经做了:
- 加载核心引擎 :导入
Plotly
的JavaScript
渲染引擎 - 建立翻译通道 :创建
Python
与WebGL
之间的JSON
通信协议 - 初始化画布:准备好交互式图表的渲染容器
当我们通过px.scatter
绘制散点图时,它也自动帮我们处理了:
- 坐标轴的智能缩放
- 数据标签的自动生成
- 交互功能的默认配置
4. 绘图函数
使用Plotly
的绘图函数,关键是准备数据,比如上面示例中,数据以字典形式存储,x
和y
键对应横纵坐标。
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
都是一个值得尝试的工具。
后续的文章将继续探索更多图表类型和高级功能,让数据呈现更加完美。