当我在x轴上做一个有很多日期的散点图时出现了问题



我正在尝试绘制散点图,当我尝试绘制时,x轴显示了很多日期。有没有一种方法可以在散点图中显示的x轴上只放几个日期或年份?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.dates as mdates
plt.scatter(terremoto_sur['time'],terremoto_sur['mag'])
plt.title('Magnitud terremotos en el tiempo zona Sur')
plt.xlabel('Time')
plt.ylabel('Magnitude')
plt.show()

这是问题的散点图

如果看不到列的数据类型,很难判断,但可能发生的情况是"时间"列不是特定于时间的panda数据类型,如Timestamp或DatetimeIndex。例如,如果"时间"存储的数据类型为object,那么每个时间数据点本质上都是一个字符串,而matplotlib只是用自己的记号标记和记号下的字符串来绘制每个时间点。

您应该检查列的数据类型,如果需要,可以使用类似to_datetime方法的方法转换数据类型。

尝试设置均匀间距plt.gca().xaxis.set_major_locator(plt.MultipleLocator(1))

您也可以尝试每隔一次对进行采样

ax = plt.gca()
ax.set_xticks(ax.get_xticks()[::2])

最新更新