如何调整Python线性回归图表Y轴:将价格列小数转为实际值
解决Matplotlib图表Y轴显示小数问题
问题描述
绘制散点图时,price列对应的Y轴始终显示小数,需要调整为实际整数数值。
解决方案
通过Matplotlib的ticker模块可以强制Y轴使用整数刻度,以下是修改后的代码:
方法1:自动生成整数刻度(推荐)
使用MaxNLocator让Matplotlib根据数据范围自动生成合适的整数刻度:
import matplotlib.pyplot as plt from matplotlib.ticker import MaxNLocator columns = ['Id', 'year', 'distance_travelled(kms)', 'brand_rank', 'car_age'] for i in columns: plt.scatter(train[i], y, label='Actual') plt.xlabel(i) plt.ylabel('price') # 强制Y轴显示整数刻度 plt.gca().yaxis.set_major_locator(MaxNLocator(integer=True)) plt.show()
方法2:手动指定刻度(已知价格范围时)
如果明确price的取值范围,可以手动生成整数刻度:
import matplotlib.pyplot as plt columns = ['Id', 'year', 'distance_travelled(kms)', 'brand_rank', 'car_age'] # 获取price的最小和最大值 price_min = train['price'].min() price_max = train['price'].max() for i in columns: plt.scatter(train[i], y, label='Actual') plt.xlabel(i) plt.ylabel('price') # 设置Y轴刻度为从最小值到最大值的整数序列 plt.yticks(range(price_min, price_max + 1)) plt.show()
额外处理:避免科学计数法
如果Y轴出现科学计数格式,可添加以下代码强制显示整数:
plt.gca().yaxis.set_major_formatter(plt.FormatStrFormatter('%d'))
内容的提问来源于stack exchange,提问作者obakeng othusitse
相关产品推荐
相关产品推荐

