『Plotly实战指南』--布局根本篇

打印 上一主题 下一主题

主题 1970|帖子 1970|积分 5910

在数据分析与可视化领域,一张良好的图表不仅需要准确呈现数据,更应通过合理的布局提拔信息传达效率,增强专业性和可读性。
Plotly作为一款强盛的Python可视化库,提供了丰富的布局定制功能,帮助我们实现这一目标。
本文将从根本元素设置到坐标轴深度定制,结合代码与场景案例,来介绍标签与坐标轴的核心布局方法,从而打造出专业且易读的图表。
1. 基本布局设置

1.1. 标题设置与样式

标题是图表的重要组成部分,它能够快速传达图表的核心内容。
在Plotly中,我们可以通过title属性设置图表的标题,同时利用title.text属性添加副标题,实现多行文本表现。
  1. import plotly.graph_objects as go
  2. fig = go.Figure(data=[go.Scatter(x=[1, 2, 3], y=[1, 3, 1])])
  3. fig.update_layout(
  4.     title="主标题
  5. 副标题"
  6. )
  7. fig.show()
复制代码

在样式调整方面,Plotly提供了多种参数供我们定制标题的字体、字号、颜色以及位置。

  • font_family参数用于指定字体类型
  • font_size控制字号巨细
  • font_color设置字体颜色
  • x和xanchor参数可以调整标题的程度位置,比方居中、居右等
  1. fig.update_layout(
  2.     title={
  3.         "text": "主标题
  4. 副标题",
  5.         "font": {"family": "Arial", "size": 24, "color": "black"},
  6.         "x": 0.5,
  7.         "xanchor": "center",
  8.     }
  9. )
复制代码

1.2. 坐标轴标签与格式

坐标轴标签是图表中不可或缺的元素,它帮助我们理解数据的含义。
在Plotly中,通过xaxis_title和  yaxis_title  属性,我们可以轻松添加X轴Y轴的标签。
  1. fig.update_layout(
  2.     xaxis_title="X轴标签",
  3.     yaxis_title="Y轴标签"
  4. )
复制代码

为了优化标签的表现效果,Plotly提供了多种格式设置选项。
tickangle参数用于控制标签的字体旋转角度,避免标签之间相互重叠。
通过在标签文本中添加换行符\n,我们可以实现多行文本表现。
此外,title_standoff参数可以调整标签与轴线之间的距离,使布局更加雅观。
  1. fig.update_layout(
  2.     xaxis={
  3.         "title": "X轴标签",
  4.         "tickangle": 45,
  5.         "title_standoff": 25
  6.     },
  7.     yaxis={
  8.         "title": "Y轴标签",
  9.         "tickangle": -45,
  10.         "title_standoff": 25
  11.     }
  12. )
复制代码

2. 坐标轴设置

2.1. 坐标轴范围

在某些情况下,自动缩放的坐标轴范围大概无法满足我们的需求。
Plotly允许我们通过range参数手动设置坐标轴的表现区间。
比方,将Y轴范围固定在[0, 100],可以更清楚地展示数据的变化趋势。
  1. fig.update_layout(
  2.     yaxis_range=[0, 100]
  3. )
复制代码

为了关闭自动缩放,可以将autorange参数设置为False,避免数据被截断。
双Y轴场景下,我们还可以为次坐标轴(yaxis2)独立设置范围,满足不同数据的展示需求。
  1. import plotly.graph_objects as go
  2. # 创建第一个 Y 轴的折线图
  3. fig = go.Figure()
  4. fig.add_trace(go.Scatter(
  5.     x=[1, 2,3],
  6.     y=[1,3,1],
  7.     name='Y1 数据',
  8.     yaxis='y1'
  9. ))
  10. # 创建第二个 Y 轴的折线图
  11. fig.add_trace(go.Scatter(
  12.     x=[1,2,3],
  13.     y=[4,3,10],
  14.     name='Y2 数据',
  15.     yaxis='y2'
  16. ))
  17. fig.update_layout(
  18.     yaxis={
  19.         "range": [0, 100],
  20.         "autorange": False
  21.     },
  22.     yaxis2={
  23.         "range": [0, 50],
  24.         "autorange": False,
  25.         "overlaying": "y",
  26.         "side": "right"
  27.     }
  28. )
  29. fig.show()
复制代码

2.2. 坐标轴刻度与标签

刻度是坐标轴的重要组成部分,合理的刻度间隔和标签格式能够帮助我们更好地理解数据。
通过dtick参数,我们可以强制设置主刻度的间隔,
比方X轴改成每1单位一个刻度,Y轴改成每10单位一个刻度。
  1. fig.update_layout(
  2.     xaxis={
  3.         "dtick": 1
  4.     },
  5.     yaxis={
  6.         "dtick": 10
  7.     }
  8. )
复制代码

此外,刻度的调整Plotly还提供了很多参数:

  • tick0参数用于设置起始刻度的位置,可以根据需要对齐特定数值。
  • tickformat参数可以将日期刻度转换为YYYY-MM的格式,比如"%Y-%m"
  • tickformat参数设置小数位数,比如,".2f"保留数值的两位小数
  • showticklabels参数控制是否隐藏刻度标签
  • ticktext参数更换特定的刻度标签文本
在现实应用中,根据不同的场景,我们可以灵活定制刻度间隔和标签格式。
比方,在股价图中,固定Y轴范围可以突出价格波动,同时将X轴刻度按交易日期间隔表现,使图表更加直观易读。
地图图表中,调整经纬度刻度间隔可以适配地理坐标,提高地图的可读性。
3. 总结

本文主要介绍了布局优化对图表效果的关键影响,合理的布局能够使信息层级清楚,提拔图表的样式雅观度和交互友好性。
在现实操作中,对于数据麋集型图表,我们应优先包管刻度的可读性,避免过分计划。
同时,建议采用fig.update_layout()方法统一调整多个布局参数,提高代码的可维护性。
最后,结合fig.show()方法预览图表效果,并根据现实需求迭代调整布局参数,以达到最佳的可视化效果。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表