import matplotlib.pyplot as plt
name_list = ['1', '2', '3', '4']
# num_list1 = [184.74, 99.84, 126.34, 68.93]
# num_list2 = [144.53, 75.48, 94.26, 59.32]
# num_list3 = [54.72, 26.32, 32.28, 20.83]
# num_list4 = [55.67, 30.42, 39.15, 27.54]
num_list1 = [184.74, 144.53, 54.72, 55.67]
num_list2 = [99.84, 75.48, 26.32, 30.42]
num_list3 = [126.34, 94.26, 32.28, 39.15]
num_list4 = [68.93, 59.32, 20.83, 27.54]
x = list(range(len(num_list1)))
total_width, n = 0.8, 4
width = total_width / n
plt.bar(x, num_list1, width=width, label='', fc='#C0C0C0')
for i in range(len(x)):
x[i] = x[i] + width
plt.bar(x, num_list2, width=width, label='', tick_label=name_list, fc='#6495ED')
for i in range(len(x)):
x[i] = x[i] + width
plt.bar(x, num_list3, width=width, label='', tick_label=name_list, fc='#FFA500')
for i in range(len(x)):
x[i] = x[i] + width
plt.bar(x, num_list4, width=width, label='', tick_label=name_list, fc='#3CB371')
plt.legend()
plt.show()
# 设置柱状图 不同纹理
import matplotlib.pyplot as plt
fig = plt.figure()
patterns = [ "|" , "\\" , "/" , "+" , "-", ".", "*","x", "o", "O" ]
ax = fig.add_subplot(111)
for i in range(len(patterns)):
ax.bar(i, 1, color='white', edgecolor='black', hatch=patterns[i])
plt.show()
# 这两行代码解决 plt 中文显示的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
# 这两行代码解决 plt 中文显示的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
name_list = ['1', '2', '3', '4']
num_list = [55.67, 30.42, 39.15, 27.54]
plt.xlabel("C", fontsize = 11)
plt.bar(name_list, num_list, width = 0.4, fc = '#6699CC')
plt.ylabel("C", fontsize = 11)
plt.grid(linestyle='--', alpha=0.3) # 设置网格 0.3表示网格的透明度
plt.show()