
python图像绘制中 x 轴的自定义设定
在图像绘制中,x 轴的刻度通常表示时间或日期等连续值。为了在图表中清晰地展示这些刻度,可以对其进行自定义设定。
问题描述
给定一个包含日期和数值数据的 csv 文件,需要生成一个图表,其中 x 轴表示日期。但是,默认的 x 轴刻度为连续编号,无法直接显示具体的日期。
立即学习“Python免费学习笔记(深入)”;
解决方案
要将 x 轴刻度更改为日期,需要使用以下步骤:
- 将日期列设置为主键:使用 set_index() 方法将 date 列设置为 dataframe 的主键。
- 使用 matplotlib.dates 模块:导入 matplotlib.dates 模块,并使用 dateformatter 类将 x 轴刻度格式化为日期格式。
修改后的代码如下:
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
fileName = 'test_01.csv'
df = pd.read_csv(fileName)
# 设置日期列为主键
df.set_index(df['date'], inplace=True)
# 使用 DateFormatter 格式化 x 轴刻度
ax = df[['A','B','C']].plot.area()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=1))
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
plt.savefig(fileName.replace('.csv','.png'), bbox_inches='tight')效果
修改后,图表中 x 轴的刻度将显示为具体日期,例如 "2020/4/1",更便于理解图像中的数据。










