更改y轴刻度标签以最大程度地减少混乱,但不显示与在数据集中观察到的数据点不同的数据点

问题描述 投票:0回答:1

所以这只是示例代码,将生成示例可视化:


# Importing necessary libraries 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
from dateutil.parser import parse

%matplotlib inline

# Below, I just convert date strings into an actual date object.

date_strings = ['2020-01-20 03:32:44',
'2020-03-26 05:13:07',
'2020-03-26 13:32:09',
'2020-03-26 23:57:49',
'2020-03-27 15:30:00',
'2020-03-28 00:04:32',
'2020-03-28 13:26:15',
'2020-03-29 00:11:22',
'2020-04-02 00:30:00',
'2020-04-06 14:00:00']

dates = []

for date in date_strings:
    dt = parse(date)
    print(dt.date())
    dates.append(dt.date())

# finally making the graph:

x1 = np.array([x for x in range(10)])
x = dates
y = [x+60 for x in range(10)]

plt.xticks(ticks=dates,labels=dates,rotation='30')
plt.plot(x,y)
plt.scatter(x,y)

plt.show()

我得到的是这个:

“

现在这很棘手,因为解决此问题的大多数常规方法都包括在中间包括随机日期点。例如。 2月15日可能会突然出现一个勾号标签。

但是,我不想在未实际记录数据点的地方添加刻度标签

本质上,对于我的要求,条件似乎有点严格:

  • x轴上没有刻度标签,表明数据中未出现刻度。 (我可以这样做)
  • 第一个和最后一个日期必须
  • 始终显示。 (我也可以这样做)
  • 应该显示这两个日期之间的任何日期,而不会引起x轴上的混乱(这是现有解决方案似乎对我没有帮助的部分!]
  • 所以这只是将生成示例可视化效果的示例代码:#导入所需的库将numpy导入为np导入熊猫作为pd导入matplotlib.pyplot作为plt导入日期时间...
python matplotlib data-visualization
1个回答
0
投票
这是我尝试解决的方法。

免责声明,也许有更好的方法可以做到这一点,我只是将一些东西放在一起,看是否可以减少一些杂物。我不完全了解代码,但确实实现了结果。

© www.soinside.com 2019 - 2024. All rights reserved.