python图像绘制中 x 轴的自定义设定
在图像绘制中,x 轴的刻度通常表示时间或日期等连续值。为了在图表中清晰地展示这些刻度,可以对其进行自定义设定。
问题描述
给定一个包含日期和数值数据的 csv 文件,需要生成一个图表,其中 x 轴表示日期。但是,默认的 x 轴刻度为连续编号,无法直接显示具体的日期。
解决方案
要将 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",更便于理解图像中的数据。