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()

基本形状:
matplotlib基本柱状图绘制_第1张图片

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()

matplotlib基本柱状图绘制_第2张图片
和上一副画对比是否发现了一些不一样?

你看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()

matplotlib基本柱状图绘制_第3张图片

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()

matplotlib基本柱状图绘制_第4张图片
看到这你是不是以为我写重复了?其实不是的,仔细看里面一个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()

matplotlib基本柱状图绘制_第5张图片

设置边缘样式
  • 描边-相关的关键字参数为:(短的是缩写)
    • 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()

matplotlib基本柱状图绘制_第6张图片

你可能感兴趣的:(motplotlib,matplotlib,python,信息可视化)