【Python】数据分析:matplotlib条形图

简介: 【Python】数据分析:matplotlib条形图

条形图和之前的折线图的唯一区别就是绘制时是bar((纵向条形图)或者barh(横向条形图)方法

语法知识

复习一下语法知识:

  • 设置字体:fm = font_manager.FontProperties(fname="字体包存放路径")
  • 设置x提示语plt.xlabel("x_label_name",fontproperties=fm)
  • 设置y提示语plt.ylabel("y_label_name",fontproperties=fm)
  • 设置标题plt.title("title_name",fontproperties=fm)
  • 设置横坐标plt.xticks(x_value_list,x_ticks_list,fontproperties=fm,ratation=n)
  • 设置纵坐标plt.yticks(y_value_list,y_ticks_list,fontproperties=fm,rotation=n)
  • 绘制纵向条形图plt.bar(x,y,color="color_name",width=n)
  • 绘制横向向条形图plt.barh(x,y,color="color_name",height=n)
  • 显示图片plt.show()
  • 设置画布大小plt.figure(figsize=(m,n),dpi=p
  • 设置图例:plt.legend(loc="upper right",prop = fm)
  • 保存图片:plt.savefig("savepath+figname"): # 保存图片至savepath并命名为figname
  • 显示网格:plt.grid(alpha=n)

其中最重要的是:

绘制纵向条形图plt.bar(x,y,color="color_name",width=n)

绘制横向向条形图plt.barh(x,y,color="color_name",height=n)

Demo01:绘制电影票房的纵向条形图

from matplotlib import pyplot as plt
from matplotlib import font_manager
fm = font_manager.FontProperties(fname = 'F:\HuaDaBoSi\scratch\practice\img\AlimamaDaoLiTi.ttf')
plt.figure(figsize=(20,8),dpi=80)
movie_name = ["长津湖之水门桥","独行月球","这个杀手不太冷静","人生大事","万里归途","奇迹笨小孩","侏罗纪世界3","熊出没之重返地球","阿凡达:水之道","神探大战"]
box_office = [51,34,32,31,25,24,22,19,14,10]
plt.bar(range(len(movie_name)),box_office,width=0.6,color="orange")
plt.xticks(range(len(movie_name)),movie_name,rotation=45,fontproperties=fm)
plt.title("2022年票房排名前十电影",fontproperties=fm)
plt.xlabel("电影名",fontproperties=fm)
plt.ylabel("票房",fontproperties=fm)
plt.grid(alpha=0.3)
plt.show()
plt.savefig("./images/bar.png")

纵向条形图.png

Demo02:绘制电影票房的横向条形图

from matplotlib import pyplot as plt
from matplotlib import font_manager
fm = font_manager.FontProperties(fname = 'F:\HuaDaBoSi\scratch\practice\img\AlimamaDaoLiTi.ttf')
plt.figure(figsize=(20,8),dpi=80)
movie_name = ["长津湖之水门桥","独行月球","这个杀手不太冷静","人生大事","万里归途","奇迹笨小孩","侏罗纪世界3","熊出没之重返地球","阿凡达:水之道","神探大战"]
box_office = [51,34,32,31,25,24,22,19,14,10]
plt.barh(range(len(movie_name)),box_office,height=0.6,color="green")
plt.yticks(range(len(movie_name)),movie_name,fontproperties=fm)
plt.title("2022年票房排名前十电影",fontproperties=fm)
plt.ylabel("电影名",fontproperties=fm)
plt.xlabel("票房",fontproperties=fm)
plt.grid(alpha=0.3)
plt.show()
plt.savefig("./images/barh.png")

横向条形图.png

Demo03:绘制电影票房的纵向条形图

from matplotlib import pyplot as plt
from matplotlib import font_manager
fm = font_manager.FontProperties(fname = 'F:\HuaDaBoSi\scratch\practice\img\AlimamaDaoLiTi.ttf')
movie_name = ["长津湖之水门桥","独行月球","这个杀手不太冷静"]
box_office_1 = [51,34,32]
box_office_2 = [31,25,24]
box_office_3 = [22,19,14]
box_width = 0.2
list_1 = list(range(len(movie_name)))
list_2 = list(i+box_width for i in list_1)
list_3 = list(i+box_width*2 for i in list_1)
plt.bar(list_1,box_office_1,color="orange",width=box_width,label="6月1号")
plt.bar(list_2,box_office_2,color="green",width=box_width,label="6月2号")
plt.bar(list_3,box_office_3,color="blue",width=box_width,label="6月3号")
plt.xticks(list_2,movie_name,fontproperties = fm)
plt.legend(loc="upper right",prop=fm)
plt.show()
plt.savefig('./images/multi_bar.png')

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
54 2
|
1月前
|
机器学习/深度学习 数据可视化 算法
使用Python进行数据分析:从零开始的指南
【10月更文挑战第9天】使用Python进行数据分析:从零开始的指南
40 1
|
19天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
50 0
|
9天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
13天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
31 2
|
17天前
|
数据可视化 JavaScript 前端开发
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
47 5
|
21天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
46 5
|
20天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
31 2
|
25天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
27 2
|
11天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集