『Plotly实战指南』--柱状图绘制基础篇

锦通  金牌会员 | 2025-3-21 12:18:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 970|帖子 970|积分 2910

柱状图作为最基础的数据可视化形式之一,能直观展示差别种别数据的对比关系,适用于一下的场景:

  • 比较差别种别之间的数据大小,如差别产品的销售额对比。
  • 展示数据的分布情况,如各年龄段的人口数量分布。
  • 分析时间序列数据的变化趋势,如某公司近几年的利润变化。
今天,我们就来深入探索Plotly柱状图的绘制基础,把握垂直柱状图水平柱状图的绘制方法。
1. 垂直柱状图绘制

1.1. 数据预备

适合绘制垂直柱状图的数据通常是具有明确种别和对应数值的数据。
比方,关于差别都会人口数量的数据:都会名称作为种别,人口数量作为数值,如许的数据布局就非常适合用垂直柱状图来展示。
创建示例数据:
  1. # 示例数据
  2. data = {
  3.     "城市": ["北京", "上海", "广州", "深圳", "成都"],
  4.     "人口数量(万)": [2189, 2487, 1530, 1259, 1633]
  5. }
复制代码
1.2. 绘图

使用 Plotly 创建垂直柱状图的基本代码布局如下:
  1. import plotly.express as px# 示例数据
  2. data = {
  3.     "城市": ["北京", "上海", "广州", "深圳", "成都"],
  4.     "人口数量(万)": [2189, 2487, 1530, 1259, 1633]
  5. }# 创建垂直柱状图fig = px.bar(    data_frame=data,    x="都会",    y="人口数量(万)",    title="各都会人口数量柱状图")# 显示图形fig.show()
复制代码

在上述代码中,我们通过px.bar()函数来创建垂直柱状图。
其中,data_frame 参数用于指定数据源,x参数指定种别的列名,y参数指定数值的列名。
Plotly 会主动将y列中的数值映射到柱状的高度上,从而实现数据到图形的转换。
1.3. 坐标轴标签与刻度设置

上一节的代码将天生一个垂直柱状图,横轴显示都会名称,纵轴显示人口数量,每个都会的柱子高度对应其相应的人口数量。
通过这个直观的图形,我们可以很容易地比较各都会的人口规模。
但是,为了使柱状图更加清晰易懂,我们常常需要对坐标轴标签和刻度进行设置。
  1. # 设置 X 轴标签
  2. fig.update_xaxes(title_text="城市名称")  
  3. # 设置 Y 轴标签
  4. fig.update_yaxes(title_text="人口数量(万人)")  
  5. # 调整 X 轴刻度角度和字体大小
  6. fig.update_xaxes(tickangle=45, tickfont=dict(size=10))  
  7. # 设置 Y 轴刻度间隔和字体大小
  8. fig.update_yaxes(dtick=500, tickfont=dict(size=10))  
  9. fig.update_yaxes(range=[0, 3000])  # 设置 Y 轴范围为 0 到 3000
复制代码

通过这些设置,我们可以使坐标轴的标签和刻度更加符合数据的特点和展示需求,从而提高图表的可读性。
2. 水平柱状图绘制

2.1. 数据预备

水平柱状图适用于展示种别名称较长或需要强调数据大小对比的情况。
比方,对于一组关于差别国家 GDP 的数据,国家名称作为种别,GDP 数值作为对应的值,这种数据布局适合用水平柱状图来呈现,尤其是当国家名称较长时,水平布局能更好地展示种别信息。
  1. # 示例数据
  2. data = {
  3.     "国家": ["美国", "中国", "日本", "德国", "英国"],
  4.     "GDP(万亿美元)": [25.0, 17.7, 4.9, 4.2, 3.1]
  5. }
复制代码
2.2. 绘图

要实现水平柱状图,只需对垂直柱状图的代码稍作修改:
  1. import plotly.express as px# 示例数据
  2. data = {
  3.     "国家": ["美国", "中国", "日本", "德国", "英国"],
  4.     "GDP(万亿美元)": [25.0, 17.7, 4.9, 4.2, 3.1]
  5. }# 创建水平柱状图fig = px.bar(    data_frame=data,    y="国家",  # 将种别列指定为 Y 轴    x="GDP(万亿美元)",  # 将数值列指定为 X 轴    orientation='h',  # 设置柱状图为水平方向    title="各国 GDP 水平柱状图")# 显示图形fig.show()
复制代码

在上述代码中,我们将 y 参数设置为种别列,x 参数设置为数值列,并通过 orientation='h' 参数指定柱状图为水平布局。
如许,Plotly 就会根据数据天生水平柱状图
运行代码后,天生一个水平柱状图,横轴表现 GDP 数值,纵轴表现国家名称,每个国家的柱子水平延伸,长度对应其 GDP 大小。
这种布局使得国家名称可以或许完整显示,便于比较各国 GDP 的差别。
2.3. 坐标轴和标签布局

了使水平柱状图更加美观和易读,也可以对坐标轴和标签进行调解。
  1. # 反转 Y 轴顺序,使柱子从上到下排列
  2. fig.update_yaxes(autorange="reversed")  
  3. fig.update_layout(
  4.     margin=dict(l=150),  # 增加左侧边距,防止国家名称被截断
  5.     title_x=0.5  # 将标题居中显示
  6. )
  7. # 设置 Y 轴刻度垂直显示,字体大小为 12
  8. fig.update_yaxes(tickangle=0, tickfont=dict(size=12))
  9. # 设置 X 轴刻度角度为 45 度,字体大小为 10
  10. fig.update_xaxes(tickangle=45, tickfont=dict(size=10))  
复制代码

通过这些调解,水平柱状图的坐标轴方向和标签布局将更加合理,图表的整体效果将得到显着提升。
3. 两种柱状图的对比

垂直柱状图水平柱状图在视觉上最大的差别在于坐标轴的方向和柱子的排列方式。
垂直柱状图适合展示种别名称较短、需要强调数据分布或趋势的情况;
水平柱状图则更适合种别名称较长、需要突出数据大小对比的场景。
在选择时,根据本身的数据选择差别的柱状图:

  • 种别名称较短且数据点较少:优先选择垂直柱状图,因为它更符合人们的阅读风俗,可以或许直观地展示数据的高低变化。
  • 种别名称较长或数据点较多:水平柱状图是更好的选择,它可以避免种别名称被截断,使每个种别的数据都能清晰地展示出来。
  • 需要强调数据大小对比:水平柱状图在展示数据大小差别时更具优势,因为水平排列的柱子在视觉上更容易比较长度。
  • 展示时间序列数据或数据分布:垂直柱状图更适合,它可以或许清晰地呈现数据随时间或其他一连变量的变化趋势。
4. 总结

通过本文,我们把握了Plotly绘制基础柱状图的关键步骤,包罗垂直柱状图和水平柱状图的创建方法、数据映射、坐标轴设置以及标签优化等。
Plotly 强盛的功能为我们提供了丰富的可视化手段,可以或许帮助我们将数据以直观、美观的方式呈现出来。
在实际项目中,我们可以根据数据的特点和分析需求,灵活选择合适的柱状图类型,并运用所学的知识对图表进行定制和优化,从而更好地传达数据背后的信息和代价。

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表