Jupyter Notebook 绘制柱形图

目录

前言

一、前期准备

 二、绘制简单的柱形图

 三、数据导入

四、添加图例(如果有多个系列)

 五、堆叠柱形图

 六、水平柱形图

总结 

优点:

缺点:



前言

       柱形图是一种常见的数据可视化工具,用于展示不同类别之间的数据比较。在柱形图中,每个类别通常由一根柱子表示,柱子的高度(或长度)代表该类别对应的数值大小。通过柱子的高度差异,可以很容易地看出不同类别之间的数值差异。即使没有专业的统计知识,也能很快理解柱形图所表达的信息。

柱形图的途:

  • 比较分析:通过柱形图,可以直观地比较不同类别之间的数值大小,从而找出差异和趋势。
  • 报告和演示:在商业报告、市场研究、学术研究等领域,柱形图常被用于展示和分析数据。
  • 决策支持:通过柱形图展示的数据,决策者可以更快地做出基于数据的决策。

一、前期准备

安装Matplotlib库

pip install Matplotlib

运行结果如下: 

 二、绘制简单的柱形图

import matplotlib.pyplot as plt  
  
# 数据  
categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']  
values = [5, 7, 3, 8, 10]  
  
# 绘制柱形图  
plt.bar(categories, values)  
  
# 添加标题和轴标签  
plt.title('Simple Bar Chart')  
plt.xlabel('Categories')  
plt.ylabel('Values')  
  
# 显示图形  
plt.show()

运行结果如下:  

 三、数据导入

在工作学习中常常需要分析数据,就需要我们导入外部数据分析绘图。

例:导入外部数据‘数据.csv’,通过柱形图分析

import pandas as pd  
import matplotlib.pyplot as plt  
  
# 读取CSV文件  
df = pd.read_csv('数据.csv') 

# 使用pandas的plot方法来绘制柱形图  
df.plot(kind='bar', x='Category', y='Values')  
  
# 添加标题和轴标签  
plt.title('Simple Bar Chart from CSV Data')  
plt.xlabel('Categories')  
plt.ylabel('Values')  
  
# 显示图形  
plt.show()

解释代码 :

import pandas as pd  
import matplotlib.pyplot as plt

这两行代码导导入了两个Python库:pandasmatplotlib.pyplot

  1. pandas:一个强大的数据分析库,它提供了DataFrame数据结构,可以方便地处理表格型数据。
  2. matplotlib.pyplotmatplotlib库的一个子模块,提供了MATLAB风格的界面,用于绘图。
df = pd.read_csv('数据.csv') 

这行代码使用pandasread_csv函数来读取名为数据.csv的CSV文件,并将数据存储在DataFrame对象df中。CSV文件应该包含你想要绘制柱形图的数据。 

df.plot(kind='bar', x='Category', y='Value')

这行代码使用DataFrame的plot方法来绘制柱形图。

  1. kind='bar':指定绘制的图形类型为柱形图。
  2. x='Category':指定用于x轴的列名,即类别列。
  3. y='Value':指定用于y轴的列名,即数值列。
plt.title('Simple Bar Chart from CSV Data')  
plt.xlabel('Categories')  
plt.ylabel('Values')

这三行代为图形添加标题和轴标签。

  1. plt.title('Simple Bar Chart from CSV Data'):设置图形的标题为“Simple Bar Chart from CSV Data”。
  2. plt.xlabel('Categories'):设置x轴的标签为“Categories”。
  3. plt.ylabel('Values'):设置y轴的标签为“Values”。
plt.show()

这行代码调用matplotlib.pyplotshow函数来显示图形。在交互式环境中(如Jupyter Notebook),这行代码通常是必需的,以便图形能够显示出来。在脚本中运行代码时,这行代码也会打开一个新的窗口来显示图形。 

运行结果如下:

四、添加图例(如果有多个系列)

# 数据  
categories = ['A', 'B', 'C', 'D', 'E']  
values1 = [10, 15, 7, 9, 13]  
values2 = [5, 12, 8, 11, 6]  
  
# 绘制柱形图  
plt.bar(categories, values1, label='Series 1', color='skyblue')  
plt.bar(categories, values2, bottom=values1, label='Series 2', color='lightcoral')  
  
# 添加图例  
plt.legend()  
  
# 设置标题和轴标签  
plt.title('Grouped Bar Chart')  
plt.xlabel('Categories')  
plt.ylabel('Values')  
  
# 显示图形  
plt.show()

运行结果如下:

 五、堆叠柱形图

# 数据  
categories = ['A', 'B', 'C', 'D', 'E']  
values1 = [10, 15, 7, 9, 13]  
values2 = [5, 12, 8, 11, 6]  
  
# 绘制堆叠柱形图  
plt.bar(categories, values1, label='Series 1', color='skyblue')  
plt.bar(categories, values2, bottom=values1, label='Series 2', color='lightcoral')  
  
# 其余设置与上面相同  
# ...  
  
# 显示图形  
plt.show()

运行结果如下:

 六、水平柱形图

# ... 数据准备 ...  
  
# 绘制水平柱形图  
plt.barh(categories, values1, color='skyblue')  
  
# ... 其余设置 ...  
  
# 显示图形  
plt.show()

运行结果如下:

七、bar 

在Python中,bar函数通常与Matplotlib库一起使用,用于绘制柱状图。以下是一些关于Python中bar函数的参考文献,以清晰、分点的方式表示,并尽量结合文章中的相关数字和信息:

1. 基本用法和参数

  • 函数定义plt.bar(x, height, width=0.8, bottom=None, align='center', color=None, edgecolor=None, linewidth=None)

    • x:可迭代对象,指定条形图的x轴位置。可以是一个列表、数组或Series等。
    • height:可迭代对象,指定条形图的高度。
    • width:条形的宽度,默认值为0.8。
    • bottom:条形的底部位置,默认值为None。
    • align:对齐方式,默认值为'center'。
    • color:条形的颜色,默认值为None。
    • edgecolor:条形边框的颜色,默认值为None。
    • linewidth:条形边框的宽度,默认值为None。

2. 进阶功能

  • 堆叠柱形图:通过设置bottom参数,可以实现堆叠柱形图。
  • 分组柱形图:在同一x轴位置上绘制多个柱子,每个柱子代表一个不同的数据系列。
  • 数据标签:使用plt.text()函数为每个柱子添加数据标签。
  • 轴的范围和刻度:使用plt.xlim()plt.ylim()调整轴的范围,使用plt.xticks()plt.yticks()自定义轴的刻度。
  • 颜色和样式:通过调整coloredgecolor等参数自定义柱形图的外观。

3. 书籍推荐

  • 《Python编程:从入门到实践》:这本书全面介绍了Python,包括各种Python库和工具(NumPy, Pygal等),以及数据可视化的基础知识。
  • 《"笨办法"学Python 3》:这本书通过52个精炼的Python练习,教你编写良好的代码和修复常见的代码错误。
  • 《Head-First Python》:这本书以可视化的形式介绍Python,对于初学者来说更易于理解。
  • 《Python数据科学手册》:这本书详细讨论了Python在数据科学中的应用,包括数据处理、分析和可视化等方面,对于希望进入数据科学领域的Python开发者来说是一本很好的参考书。

4. 交互式图表

  • 虽然Matplotlib本身并不直接支持交互式图表,但可以通过集成其他库(如Plotly或Bokeh)来实现更丰富的交互功能。

5. 保存到文件

  • 使用plt.savefig()函数可以将生成的图表保存为图片文件,支持多种格式,如PNG、PDF等。

这些参考文献涵盖了Python中bar函数的基本用法、进阶功能、相关书籍推荐以及与其他库的集成等方面,可以为你的学习和应用提供有力的支持。

总结 

柱状图是一种常见的数据可视化方法,用于比较不同类别之间的数量或频率。最后给大家总结一下柱状图的优点和缺点:

优点:

  1. 直观易懂:柱状图通过高度不同的条形来直观地展示不同类别的数值大小,使得数据比较变得简单易懂。

  2. 易于阅读:柱状图通常可以清晰地标出数据标签和数值,便于读者快速获取关键信息。

  3. 强调对比:由于柱状图以高度或长度来代表数值,因此它特别强调不同类别之间的对比关系。

  4. 适用性强:柱状图适用于展示离散型数据,尤其是当数据类别数量较少时,柱状图能够清晰地展示每个类别的数值。

  5. 支持排序:柱状图可以通过调整条形的顺序来强调数据之间的某种关系或趋势,如按照数值大小进行排序。

  6. 兼容性强:柱状图可以与其他图表类型(如折线图、饼图等)结合使用,以提供更全面的数据分析。

缺点:

  1. 空间占用:当数据类别较多时,柱状图可能会占用较多的空间,导致图表显得拥挤,不利于阅读。

  2. 精度有限:柱状图通常只能展示整数值或近似值,对于需要精确到小数点后几位的数据,柱状图可能不够准确。

  3. 不适合展示时间序列数据:柱状图主要用于比较不同类别之间的数值,对于展示时间序列数据(如随时间变化的趋势)可能不够直观。

  4. 可能误导读者:在某些情况下,柱状图的视觉效果可能会误导读者对数据的解读。例如,当两个类别的数值相差悬殊时,较短的条形可能会显得微不足道,但实际上它可能仍然具有重要意义。

  5. 缺乏动态性:静态的柱状图无法展示数据的动态变化过程。如果需要展示数据随时间或其他变量的变化情况,可能需要使用其他类型的图表(如动画柱状图或交互式柱状图)。

  6. 信息密度低:相对于某些其他图表类型(如散点图、热力图等),柱状图在相同空间内能够展示的信息量较少。因此,在需要展示大量数据时,可能需要考虑使用其他图表类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值