matplotlib.pyplot.bar(x, height, width: float = 0.8, bottom = None, *, align: str = 'center' , data = None , **kwargs)
下面将通过案例来逐步了解这些参数
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()
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()
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()