我正在尝试使用python进行一些数据分析,并且我已成功显示数据。但这个数字存在问题。
正如您所看到的,x轴(日期)非常混乱。原因是数据格式类似(每天收集):
2014-12-30,1423.98,1424.16,1407.51,1407.51
2014-12-29,1433.80,1433.84,1409.53,1424.67
...
我将第一行(日期)放在一个数组中,并将该数组用作x轴。
我自己有一个解决方案,那就是当月份发生变化时只输出x轴(比如'2014-11','2014-12',......),但我不知道任何功能可以这样做......
任何人都可以帮我解决我的问题吗? 谢谢!
答案 0 :(得分:1)
实际上我已经有很多关于这个话题的例子我已经下了赌注。这有点取决于完全你如何获得日期(格式等等)。
如果您没有在这个世界上做过多的事情并且使用viewcontroller - view - scrollview - child views
\
- fixed bottom button
模块,那么您可以查看下面的示例。个人经验,定位器和格式化程序的公平警告一旦滴答数量达到很高,就容易受到最奇怪的错误的影响。
datetime
第一个例子,每月和每天。几天的刻度都在那里,我还没有在图表上显示它们。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from datetime import date, timedelta
#####################################
### Creating data for plot,
### PLEASE include this in your next question.
#####################################
times = []
startdate = date(2014, 1, 1)
enddate = date(2016, 12, 22)
while startdate < enddate:
times.append(startdate)
startdate += timedelta(days=1)
x = []
for i in range(0, len(times)):
x.append(np.random.random(10))
第二个例子就是这样的,每年都有一个更详细的&#34;详细的&#34;格式化。
months = mpl.dates.MonthLocator()
days = mpl.dates.DayLocator(1) #find every 1st day of month
monthsFormatter = mpl.dates.DateFormatter('%b')
fig, ax = plt.subplots()
ax.xaxis.set_major_locator(months)
ax.xaxis.set_major_formatter(monthsFormatter)
ax.xaxis.set_minor_locator(days)
ax.plot(times, x)
plt.show()
看起来像: