【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')

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