所以我试图绘制一些日期时间对象的直方图,但我永远无法让垃圾箱与酒吧对齐。我的代码如下:
我首先导入我的资料并声明开始、结束和一天对象:
import datetime
import matplotlib.pyplot as plt
end = datetime.date(2017,5,14)
start = datetime.date(2017,5,8)
one_day = datetime.timedelta(days = 1)
然后我声明一个任意的日期列表:
date_list = [datetime.date(2017,5,14), datetime.date(2017,5,14),
datetime.date(2017,5,14), datetime.date(2017,5,9), datetime.date(2017,5,13),
datetime.date(2017,5,12), datetime.date(2017,5,11),
datetime.date(2017,5,11), datetime.date(2017,5,9)]
然后,我将开始和结束之间的天数(在这种情况下是一周)添加到列表中:
week = []
for i in range((end-start).days+1):
week.append(start + (i)*one_day)
这是因为一周中的一些日子没有出现在日期列表中(我知道我可以跳过这个例子,但我希望它可以扩展到其他日期列表)。
然后我用hist()绘图:
plt.hist(date_list, bins = len(week)+1)
plt.show()
我尝试了各种不同1、范围和对齐的垃圾箱格式的组合,但日期从来没有在酒吧的一致位置。
如果只是设置存储箱的数量,存储箱将平均分布在(数据的)第一个值和最后一个值之间。由于数据丢失了例如开始
值,因此箱子将小于一整天。
为了克服这一点,需要明确地将所需的bins设置为hist
的bins
参数。不幸的是,这里不能直接使用日期时间列表,所以需要先将日期时间转换为数字。这可以使用matplotlib的matplotlib.dates.date2num
方法来完成。
完整示例:
import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import date2num
end = datetime.date(2017,5,14)
start = datetime.date(2017,5,8)
one_day = datetime.timedelta(days = 1)
date_list = [datetime.date(2017,5,14), datetime.date(2017,5,14),
datetime.date(2017,5,14), datetime.date(2017,5,9), datetime.date(2017,5,13),
datetime.date(2017,5,12), datetime.date(2017,5,11),
datetime.date(2017,5,11), datetime.date(2017,5,9)]
week = []
for i in range((end-start).days+1):
week.append(start + (i)*one_day)
numweek = date2num(week)
plt.hist(date_list, bins = numweek, ec="k")
plt.gcf().autofmt_xdate()
plt.show()
请注意,datetime。日期(2017,5,14)
是(2017,5,13)
和(2017,5,14)
之间的bin的一部分,因此您可能需要将enddate设置为日期时间。日期(2017年5月15日)
。
问题内容: 我在div中垂直对齐图像时遇到问题 据我所知,我需要“显示:块;” 定位图像在中心,这是可行的。同样在教程中,我找到了很多答案,但它们并不是“有用的”,因为我的所有图像都不在同一高度! 问题答案: 如果容器中的高度固定,则可以将line-height设置为与高度相同,并且它将垂直居中。然后只需添加text-align使其水平居中即可。 编辑 您的代码应如下所示: 更新 现在是2016年
问题内容: 我有一个包含图像和ap标签的div(如下所示)。我想根据段落的多少行在div的中间垂直对齐图像。垂直对齐不起作用。我现在正在使用JavaScript找出要添加到margin- top的数量,但是宁愿使用CSS。有任何想法吗? 问题答案: 尝试将元素的属性设置为图像的高度,例如: 编辑: 刚意识到我读错了问题,却错过了多行的事实。尝试的一种选择是完全删除元素,并将其设置为of的,使用的o
我正在使用 matplotlib 生成一些直方图,并且在弄清楚如何使直方图的 xtick 与条形对齐时遇到了一些麻烦。 这是我用来生成直方图的代码示例: 我知道数组中的所有值都位于。这意味着有49个独特的值。我想显示每个值的直方图。这是生成内容的图片。 如何设置图形,使所有的x轴都与每个条形的左边、中间或右边对齐?
问题内容: 我试图在一个JPanel中垂直对齐(居中)两个JLabel。 我尝试使用setAligmentY()失败。这两个标签始终显示在JPanel的顶部。 UPD:标签应该像使用FlowLayout那样彼此相邻放置,但应位于JPanel的中间。 问题答案: 使用具有默认约束的。这是一个小的演示代码:
这让我发疯,我想知道我是否只是不了解直方图,matplotlib或世界的基本知识。如果我尝试用matplotlib的直方图绘制以下数据,我得到以下图像,这绝对不正确: 1.25 似乎是正确的,但例如,5 是完全错误的,而 1 没有绘制。我做错了什么吗?(注意:矩阵直方图的默认对齐方式以值为中心)
我正在重建一个网站,其中包含了战斗游戏Tekken7中人物的基本介绍。我已将所有字符及其数据作为对象存储在一个文件中。 然后,我试图导出到另一个文件,该文件包含一个函数,在网页上显示给定的haracter的数据,接受该字符的名称作为其唯一参数。但是,当我在浏览器上检查控制台时,我会得到一个SynTaxError,上面写着“无法在模块之外使用导入语句”。这里有什么问题?