小编Ben*_*enT的帖子

绘制datetime.time python/matplotlib的直方图

我试图绘制datetime.time值的直方图.将这些值离散化为五分钟切片.列表中的数据如下所示:

['17:15:00','18:20:00','17:15:00','13:10:00','17:45:00','18:20:00']

我想绘制直方图或某种形式的分布图,以便可以轻松检查每次出现的次数.

NB.鉴于每次都是离散的.直方图中的最大二进制数为288 =(60/5*24)

我看过matplotlib.pyplot.hist.但是需要某种连续的标量

python datetime matplotlib histogram

12
推荐指数
1
解决办法
9768
查看次数

ImageMagick - 使用IM转换将2个GIF并排成GIF

我有2个长度相同的GIF.

我想把GIF放在一起,只有1个GIF同时播放.我试过用这个convert工具:

convert +append 1.gif1 2.gif output.gif
Run Code Online (Sandbox Code Playgroud)

然而,这似乎将所有图像混合在一起并且将尺寸改变为非常小.

我想我可以将每个图像附加在一起,然后从已经组合的图像中创建一个GIF.但是,当我尝试时,它不起作用:

convert -delay 15 -loop 0 1*.png 2*.png +append output.gif
Run Code Online (Sandbox Code Playgroud)

我有很多长名称的图像,我不想单独检查并附加新的命名约定.

unix image imagemagick imagemagick-convert

6
推荐指数
1
解决办法
3868
查看次数

Pandas 使用新长度对数据框进行插值

我有一个包含日期时间、纬度、经度、z 列的数据框。我正在从 csv 文件中读取数据,因此设置日期时间的时间段不起作用。时间以 6 小时为间隔,但我想将数据线性插入到每小时间隔。

从...来

       'A'              'B'    'C'   'D'
0   2010-09-13 18:00:00 16.3 -78.5    1
1   2010-09-14 00:00:00 16.6 -79.8    6 
2   2010-09-14 06:00:00 17.0 -81.1    12
Run Code Online (Sandbox Code Playgroud)

       'A'              'B'    'C'   'D'
1   2010-09-13 18:00:00 16.3  -78.5   1      
2   2010-09-13 19:00:00 16.35 -78.7   2
3   2010-09-13 20:00:00 16.4  -78.9   3
4   2010-09-13 21:00:00 16.45 -79.1   4
5   2010-09-13 22:00:00 16.5  -79.3   5
....
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用 interpolate 命令,但没有关于数据帧新长度的参数。

df.interpolate(method='linear')
Run Code Online (Sandbox Code Playgroud)

我在想我可以使用 .loc 在数据帧的每行之间包含 5 行 NAN,然后使用插值函数,但这似乎是一个糟糕的解决方法。

解决方案 使用DatetimeIndex消除了与其他列的关联,如果您最初的列并没有被导入为日期时间。

i = pd.DatetimeIndex(start=df['A'].min(), …
Run Code Online (Sandbox Code Playgroud)

python linear-interpolation pandas

5
推荐指数
1
解决办法
1497
查看次数

使用 Matplotlib 设置多组小刻度

我正在尝试使用小刻度自定义我的 x 轴,但我想加粗或加长中间的小刻度。所以基本上我想要我的次要情节有一个主要的、中间的和次要的勾号。我尝试使用tick_params,但这会覆盖之前对刻度线的修改。还有其他方法可以实现这一目标吗?

最终结果应在标记数字之间有 4 个小刻度和 2 个半小刻度。

如果有办法标记半小刻度,那就加分了。

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,
                               AutoMinorLocator)

t = np.arange(0.0, 100.0, 0.1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)

fig, ax = plt.subplots()
ax.plot(t, s)

#Try to set 4 minor ticks
ax.xaxis.set_minor_locator(AutoMinorLocator(4))
ax.tick_params(which='minor', length=2, color='k')

#Set 2 minor ticks that are larger
ax.xaxis.set_minor_locator(AutoMinorLocator(2))
ax.tick_params(which='minor', length=6, color='k')

#Make major ticks even larger
ax.tick_params(which='major', length=12, color='k')

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

matplotlib python-3.x

5
推荐指数
1
解决办法
1899
查看次数

Matplotlib:将两个 y 轴围绕零对齐

我有一个共享 x 轴上有两个 y 轴的图,我想让它们在 y=0 处对齐,以便我可以绘制一条水平线来突出显示零刻度。目前两个轴没有对齐,我必须画两条线,这很糟糕。我怎样才能做到这一点?

? 在此处输入图片说明

python matplotlib

4
推荐指数
3
解决办法
4665
查看次数

Matplotlib条形图条形重叠

所以我创建了一个条形图,但是在重叠条形方面遇到了麻烦。我以为问题是边缘重叠,但是当我更换时,edges='none'这些条真的很细。

我确实相信我的数学是正确的,假设3个宽度为.3的条应沿x轴移动.3,并且在每组条之间留有.1间隙。(注意x增加1)

我不明白为什么条形图最终会重叠,并且重叠在图的末尾似乎变得更糟。

ax = plt.subplot(111)
ax2 = ax.twinx()
ax.bar(x,EWtot,width=.3, color='b', align='center',label='Eyewall',edgecolor='b')
ax.bar(x + 0.3,ICtot,width=.3, color='g', align='center',label='Inner Core',edgecolor='g')
ax.bar(x + 0.6,RBtot,width=.3, color='r', align='center',label='RainBand',edgecolor='r')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

3
推荐指数
1
解决办法
5998
查看次数

我无法在 RIDE (ROBOT FRAMEWORK) 中运行简单的测试

我试图运行我在 RIDE IDE 中编写的测试\n我正在使用 SelenuimLibrary 并且我正在尝试打开 Linkedin 登录页面

\n\n

这是下面的代码

\n\n
Library           Selenium2Library\n\n*** Variables ***\n${Username}       swtestacademy@gmail.com\n${Password}       wrongpass\n${Browser}        Firefox\n${SiteUrl}        http://www.linkedin.com\n${DashboardTitle}    World\xe2\x80\x99s Largest Professional Network | LinkedIn\n${ExpectedWarningMessage}    Hmm, we don\'t recognize that email. Please try again.\n${WarningMessage}    Login Failed!\n${Delay}          5s\n\n*** Test Cases ***\nLogin Should Fail With Unregistered Mail Adress\n    Open LinkedinPage\n    Check Title\n    Enter User Name\n    Enter Wrong Password\n    Click Login\n    sleep    ${Delay}\n    Assert Warning Message\n    [Teardown]    Close Browser\n\n*** Keywords ***\nOpen LinkedinPage\n    open browser    ${SiteUrl}    ${Browser}\n    Maximize Browser Window\n\nEnter User Name\n    Input Text …
Run Code Online (Sandbox Code Playgroud)

python automated-tests robotframework robotframework-ide

3
推荐指数
1
解决办法
1494
查看次数

如何使用 matplotlib 在 cartopy 极地立体图中获得平滑的网格线?

当使用 matplotlib 和 cartopy 的 NorthPolarStereo 投影进行绘图时,恒定纬度网格线(平行线)不是平滑的圆圈。

这是一个最小的工作示例:

from matplotlib import pyplot
import cartopy.crs

ax = pyplot.axes(projection=cartopy.crs.NorthPolarStereo())
ax.set_extent((-180, 180, 60, 90), crs=cartopy.crs.PlateCarree())
ax.gridlines()

pyplot.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如您所看到的,平行线是点之间的一系列直线段。每条线上没有足够的点来使它们看起来平滑。如何使平行线更圆?

python matplotlib cartopy

2
推荐指数
1
解决办法
1352
查看次数