导入相关库
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
设置中文乱码问题
matplotlib.rcParams['font.family'] = 'SimHei'
绘制图像
# 数据
sales = [100, 75, 120, 80, 90] # 销售额数据,单位为k
drinks = ['浓咖啡', '拿铁', '卡布奇诺', '茶', '冰沙'] # 饮品种类
# 绘制图形
fig, ax = plt.subplots() # 创建子图
bars = ax.bar(drinks, sales, width=0.5, color=['darkgoldenrod','red','skyblue','orange','gray'], edgecolor='black', linewidth=1, alpha=0.8) # 绘制条形图,并设置各种属性
# 添加数据标签
for bar in bars:
height = bar.get_height() # 获取条形高度
ax.annotate(f'{height}k', # 在条形上方添加数据标签,单位为k
xy=(bar.get_x() + bar.get_width() / 2, height), # 标签位置为条形中心,高度为条形高度
xytext=(0, 3), # 文本偏移量为(0, 3),即向上偏移3像素
textcoords="offset points", # 设置文本偏移量的单位为像素
ha='center', # 水平对齐方式为居中
va='bottom') # 垂直对齐方式为底端对齐
# 添加图形属性
ax.set_title('按饮料类别划分的销售额') # 设置标题
ax.set_xlabel('类别') # 设置x轴标签
ax.set_ylabel('价格') # 设置y轴标签
ax.set_ylim([0, 140]) # 设置y轴的取值范围为0到140
ax.tick_params(axis='x', rotation=30) # 设置x轴的刻度值旋转角度为30度
plt.show() # 显示图形
最后将会得到这样的图片
代码中的
fig, ax = plt.subplots()
是用来创建图表和子图的,其中:
fig
变量是一个Figure
对象,表示整个图表。ax
变量是一个Axes
对象,用于在图表上绘制子图(例如柱状图、折线图等)。在 matplotlib 中,每个图表可以包含多个子图,因此
plt.subplots()
dd函数用于一次创建整个图表和所有的子图。