Matplotlib如何在图表内部展示对应x轴或y轴的数值?
Matplotlib图表内部显示数据坐标数值实现方法
你可以通过Matplotlib的text()方法遍历所有数据点添加坐标标签,以下是完整实现代码:
import matplotlib.pyplot as plt # 准备测试数据 x = [1, 2, 3, 4, 5] y = [2.3, 4.5, 1.2, 5.7, 3.9] # 绘制折线图/柱状图都适用 plt.plot(x, y, marker='o', linewidth=2) # 遍历每个数据点添加数值标签 for x_val, y_val in zip(x, y): # 显示y轴数值,标签位置向上偏移0.2避免遮挡数据点 plt.text(x=x_val, y=y_val+0.2, s=str(y_val), ha='center', fontsize=10, color='red') # 如果要显示x轴数值,替换s参数为x_val即可: # plt.text(x=x_val, y=y_val+0.2, s=str(x_val), ha='center', fontsize=10, color='blue') plt.xlabel('X轴') plt.ylabel('Y轴') plt.ylim(0, 6.5) # 调整y轴范围避免顶部标签被截断 plt.show()
效果参考:
常用参数说明:
x/y:标签放置的坐标,可根据需求加偏移量调整位置,避免遮挡数据点s:要显示的文本内容,可搭配round()函数对数值保留指定位数小数ha:水平对齐方式,设置为center可让标签与数据点水平居中对齐va:垂直对齐方式,显示在点下方时可设置为topfontsize/color:自定义标签的字体大小和颜色
内容的提问来源于stack exchange,提问作者K.N
相关产品推荐
相关产品推荐

