这是一个代码,从2021年1月到7月,在印度绘制了所有新冠肺炎测试用例。记录是每天的基础,但我的scatterplot
只显示17点和日期重叠。有什么有效的方法吗?
df.to_numpy()
df1 = df[(df.date.str.endswith("21")) & (df.location == "India")]
plt.scatter(x=df1.date, y=df1.total_cases)
这是一个图表:
非常感谢
发布于 2021-07-20 01:59:08
让我们首先创建一个玩具dataframe:
data = [[f"{i%30+1:02}/{6+i//30:02}/21", np.random.randint(i, i+10)**2]
for i in range(5, 50)]
df = pd.DataFrame(data, columns=["date", "total_cases"])
我建议将日期转换为日期格式,以便于一般的处理,特别是matplotlib来调整其轴。
df.date = pd.to_datetime(df.date, format="%d/%m/%y")
现在matplotlib可以处理它,并可以选择适当的x-滴答数。因为标签很长,我们也可以旋转它。
plt.plot(df.date, df.total_cases, '.')
plt.xticks(rotation=25, ha="right")
plt.tight_layout()
plt.show()
3.4版。Matplotlib提供了一种在x轴上显示日期的方便方法:
plt.rcParams['date.converter'] = 'concise'
plt.plot(df.date, df.total_cases, '.')
plt.tight_layout()
plt.show()
发布于 2021-07-20 00:44:32
您可以使用xticks属性以任意程度旋转。
plt.xticks(rotation=45)
https://stackoverflow.com/questions/68451619
复制相似问题