matplotlib基本柱状图绘制

柱状图

  • 柱状图是一种用矩形柱来表示数据分类的图表。
  • 柱状图可以垂直绘制,也可以水平绘制。
  • 它的高度与其所表示的数值成正比关系。
  • 柱状图显示了不同类别之间的比较关系,图表的水平轴 指定被比较的类别,垂直轴 则表示具体的类别值

柱状图的绘制

matplotlib.pyplot.bar(x, height, width: float = 0.8, bottom = None, *, align: str = 'center' , data = None , **kwargs)
  • x表示x坐标,数据类型为float类型,一般为np.arange()生成的固定步长列表。
  • height 表示柱状图的高度,也就是y坐标值,数据类型为float类型,一般为一个列表,包含生成柱状图的所有y值
  • width 表示柱状图的宽度,取值在0~1之间,默认值为0.8
  • bottom 柱状图的起始位置,也就是y轴的起始坐标,默认值为None
  • align柱状图的中心位置,“center”,"lege"边缘,默认值为’center’
  • color 柱状图颜色,默认为蓝色
  • alpha透明度,取值在0~1之间,默认值为1

下面将通过案例来逐步了解这些参数

import matplotlib.pyplot as plt
#x轴数据
x= range(5)
#y轴数据
y = [5,20,15,25,10]
# 因为matplotlib里面默认不支持中文,所以这里设置一下
plt.rcParams['font.sans-serif'] = ["fangsong"]
#标题
plt.title("基本柱状图")
#绘制网格
plt.grid(ls="--",alpha=0.5)
#bar绘制图形
plt.bar(x,y)
plt.show()

基本形状:
在这里插入图片描述

buttom
import matplotlib.pyplot as plt
x= range(5)
y = [5,20,15,25,10]
plt.rcParams['font.sans-serif'] = ["fangsong"]
plt.title("基本柱状图")
plt.grid(ls="--",alpha=0.5)
plt.bar(x,y,bottom=[10, 20 ,5 ,0 ,10])
plt.show()

在这里插入图片描述
和上一副画对比是否发现了一些不一样?

你看y = [5,20,15,25,10] y的数据没变,但是生成图像的高度变了,由5 变成了15,
这就是bottom这个参数起的作用,buttom 第一个设置的是10,就是从10开始绘制图像。


设置颜色
import matplotlib.pyplot as plt
x= range(5)
y = [5,20,15,25,10]
plt.rcParams['font.sans-serif'] = ["fangsong"]
plt.title("设置柱状图颜色")
plt.grid(ls="--",alpha=0.5)
plt.bar(x,y,facecolor="green")
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
x= range(5)
y = [5,20,15,25,10]
plt.rcParams['font.sans-serif'] = ["fangsong"]
plt.title("设置柱状图颜色")
plt.grid(ls="--",alpha=0.5)
plt.bar(x,y,color="green")
plt.show()

在这里插入图片描述
看到这你是不是以为我写重复了?其实不是的,仔细看里面一个facecolor和一个color,他俩在只有一种颜色的时候效果是相同的。
不同点:color可以设置多个颜色,而facecolor不行

import matplotlib.pyplot as plt
x= range(5)
y = [5,20,15,25,10]
plt.rcParams['font.sans-serif'] = ["fangsong"]
plt.title("设置柱状图颜色")
plt.grid(ls="--",alpha=0.5)
plt.bar(x,y,color=['r','g','b'])//3个颜色一循环
plt.show()

在这里插入图片描述

设置边缘样式
  • 描边-相关的关键字参数为:(短的是缩写)
    • edgecolor 或 ec 颜色
    • linestyle 或 ls 线条样式
    • linewidth 或 lw 线条宽度
import matplotlib.pyplot as plt
x = range(5)
y = [5,20,15,25,10]
plt.rcParams['font.sans-serif'] = ["fangsong"]
plt.title("设置边缘线条样式")
plt.grid(ls="--",alpha=0.5)
plt.bar(x,y,ec='r',ls='--',lw=2)
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值