AI智能
改变未来

matplotlib绘制柱状图

文章目录

  • 柱状图
  • 最后放一张matplotlib颜色表:

柱状图

plt.bar(x, height, color,edgecolor,width=0.8,align=\'center\',bottom=None)

必选参数:

  • x,表示横坐标刻度值,可以是array、list等
  • height,表示每个柱子的高度,可以是array、list等

可选参数:

  • color:每个柱子的颜色,如果所有柱子的颜色都一样,可以只设置一种颜色,如

    color=\'blue\'

    ;但如果每个柱子都想要不同的颜色,用列表表示每个柱子的颜色。例如:

    #假设有三个柱子x = [1,2,3]height = [4,5,6]plt.bar(x, height, color=[\'r\',\'g\',\'b\']) #三个柱子颜色分别为红、绿、蓝plt.show()

  • edgecolor:柱子边缘颜色,用法与color一样。

    例如:

    plt.bar(x,height,color=\'white\',edgecolor=\'black\')plt.show()

  • width:表示每个柱子的宽度,默认是0.8

  • align:表示柱子中间的位置,默认为

    center

    ,表示柱子的中间位置与x轴的刻度对齐。还可以选用

    edge

    , 表示柱子的左边缘与x轴的刻度对齐。如:

    x = [1,2,3]height = [4,5,6]plt.bar(x,height,color=\'b\',width=0.3, align=\'edge\') #左边缘对齐刻度,柱子宽0.3plt.xticks(x) # 标x轴刻度plt.show()

通过调整

x

的值和

width

可以做出下面的图:

x1 = np.array([1,2,3])y1 = [4,2,6]y2 = [3,8,4]plt.bar(x1-0.15, y1,width=0.3,align=\'center\',alpha=0.5)plt.bar(x1+0.15,y2,width=0.3,color=\'g\',align=\'center\',alpha=0.5)plt.xticks(x1,[\'s1\',\'s2\',\'s3\'],fontsize=15)         #把x轴刻度用字符代替plt.yticks([1,3,5,7],[\'a\',\'b\',\'c\',\'d\'],fontsize=10)plt.show()

  • bottom:表示每个柱子底部的y轴坐标,可以是单个数,也可以是list, array等

    例如:

    x = [1,2,3]height = [4,5,6]plt.bar(x,height,color=\'b\',bottom=2)plt.xticks(x)plt.show()

    注意底部 y 轴坐标,顶部y轴坐标为:

    top = bootom + height

    x = [1,2,3]height = [4,5,6]plt.bar(x,height,color=\'b\',bottom=[0,1,2]) # bottom使用列表plt.xticks(x)plt.show()

使用 bottom参数可以绘制堆叠图:

例如:

#假设有三个柱子x = [1,2,3]height_1 = [4,5,6]height_2 = [7,4,2]plt.bar(x,height_1,color=\'b\')plt.bar(x,height_2,color=\'r\',bottom=[4,5,6])plt.xticks(x)plt.show()

plt.text(x,y,s)

可以给每个柱子都标上说明

  • x, y 表示说明文字 s 的坐标位置

现在在每个柱子上标上它们的 y轴位置

#假设有三个柱子x = [1,2,3]height_1 = np.array([4,5,6])height_2 = np.array([7,4,2])plt.bar(x,height_1,color=\'b\')plt.bar(x,height_2,color=\'r\',bottom=height_1)plt.xticks(x)for x1,y1 in zip(x,height_1):plt.text(x1,y1,y1,fontsize=15) 			#说明文字是y1for x2,y2 in zip(x,height_1+height_2):plt.text(x2,y2,y2,fontsize=12)          #说明文字是y2plt.show()


图画的有点难看!!!

最后放一张matplotlib颜色表:

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » matplotlib绘制柱状图