Matplotlib 柱状图

创建柱状图

应用 Pyplot 库, 您可用使用 bar() 函数来创建柱状图(长条图):

实例

绘制 4 个柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.bar(x,y)
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

bar() 函数接受指定柱形图布局的参数。

第一第二 参数表示为数组的类别及其值。

实例
  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = ["APPLES", "BANANAS"]
  7. y = [400, 350]
  8. plt.bar(x, y)
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()

水平柱状图

如果希望柱状图水平显示而不是垂直显示,请使用 barh() 函数:

实例

绘制 4 个水平柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.barh(x, y)
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:


柱状条颜色

bar()barh() 可用带入关键字参数 color 来设置柱状条的颜色:

实例

绘制 4 个红色的柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.bar(x, y, color = "red")
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

颜色名称

您可用使用 140 种支持的颜色名称.

实例

绘制 4 个颜色名称为 "hot pink" 柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.bar(x, y, color = "hotpink")
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

十六进制颜色

或者您可用使用 十六进制颜色值:

实例

绘制 4 个漂亮的绿色的柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.bar(x, y, color = "#4CAF50")
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:


柱状条宽度

bar() 带入关键字参数 width 来设置柱状条的宽度:

实例

绘制 4 个细的柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.bar(x, y, width = 0.1)
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

默认宽度值为 0.8

注:对于柱状条,使用高度而不是宽度。

柱状条高度

barh() 带入关键字参数 height 来设置柱状条的高度:

实例

绘制 4 个细的柱状条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x = np.array(["A", "B", "C", "D"])
  7. y = np.array([3, 8, 1, 10])
  8. plt.barh(x, y, height = 0.1)
  9. plt.show()
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

默认高度是 0.8