小编Suu*_*hgi的帖子

如何加快 all_pairs_dijkstra_path_length 的速度

我有一个很大的osmnx(networkx)图,并且nx.all_pairs_dijkstra_path_length需要很长时间才能计算。

有哪些可能性可以加快计算速度?

python dijkstra shortest-path networkx osmnx

8
推荐指数
1
解决办法
787
查看次数

matplotlib.pyplot中的阴影不确定性/错误区域

我正在寻找一种在Python中绘制阴影错误区域而不是错误条的方法.

我知道matplotlib.pyplot.fill_between()您可以使用它为y错误构建解决方法,但不包括x-uncertainty.

问题描述

有任何想法吗?不幸的是,我没有足够的声誉在这里发表评论.

提前致谢!


编辑

matplotlib.pyplot.fill_betweenx() 导致类似于:

fill_between_problem1


编辑2

此外,我认为对于完整的不确定区域来说它是不正确的.下面我画出我认为正确的形状 - 我希望,我在这里没错...

problem_sketch

import numpy as np
import matplotlib.pyplot as plt

x = np.asarray([1.0, 2.0, 3.0, 4.0])
y = np.asarray([1.0, 2.3, 3.0, 4.0])
xerr = np.asarray([0.1, 0.7, 0.1, 0.1])
yerr = np.asarray([0.1, 0.9, 1.2, 0.1])

plt.errorbar(x, y, yerr, xerr)

plt.fill_between(x, y-yerr, y+yerr, facecolor='#F0F8FF', alpha=1.0, edgecolor='none')
plt.fill_betweenx(y,x-xerr, x+xerr, facecolor='#F0F8FF', alpha=1.0, edgecolor='#8F94CC', linewidth=1, linestyle='dashed')

plt.show()
# Red lines added with inkscape.
Run Code Online (Sandbox Code Playgroud)

matplotlib uncertainty python-2.7

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

计算最小二乘拟合的置信带

我有一个问题,我现在打了好几天.

如何计算拟合的(95%)置信区间?

将曲线拟合到数据是每个物理学家的日常工作 - 所以我认为这应该在某个地方实现 - 但我找不到这方面的实现,我也不知道如何以数学方式做到这一点.

我发现的唯一一件事就是线性最小二乘seaborn做得很好.

import numpy as np                                                                                                                                                                                                                         
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd

x = np.linspace(0,10)
y = 3*np.random.randn(50) + x

data = {'x':x, 'y':y}
frame = pd.DataFrame(data, columns=['x', 'y'])
sns.lmplot('x', 'y', frame, ci=95)

plt.savefig("confidence_band.pdf")
Run Code Online (Sandbox Code Playgroud)

线性最小二乘

但这只是线性最小二乘法.当我想要拟合例如饱和度曲线时饱和EQN,我搞砸了.

当然,我可以从最小二乘法的标准误差计算t分布,scipy.optimize.curve_fit但这不是我正在寻找的.

谢谢你的帮助!!

python statistics regression confidence-interval

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

使用 zoomed_inset_axes 截断框

我想使用,zoomed_inset_axes但盒子一旦通过主要人物的框架就会被截断。我无法变得更好

  • f.tight_layout()
  • f.subplots_adjust(bottom=...)
  • 'figure.autolayout': True
  • 甚至没有使用f.text外部某处的隐藏(白色)文本。

有谁知道如何正确地做到这一点?

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset

X = np.random.normal(.5,10,1000)
Y = np.random.normal(.5,10,1000)

f, ax = plt.subplots(1, figsize=(10,6))

ax.scatter(X,Y)

# # Setup zoom window
axins = zoomed_inset_axes(ax, 2, loc="center", bbox_to_anchor=(0,0))
mark_inset(ax, axins, loc1=2, loc2=4, fc="none", ec="0.5")
axins.set_xlim([-15,0])
axins.set_ylim([-12,-3])

# # Plot zoom window
axins.scatter(X,Y)

f.tight_layout()
f.savefig('test.png', dpi=70)
Run Code Online (Sandbox Code Playgroud)

插图被截断

python matplotlib

4
推荐指数
1
解决办法
2554
查看次数

Matplotlib.pyplot:如何为现有绘图设置第二个y轴

我有两组线性相关的值.因此,我只需要一个右图中具有第二个y轴的单个图形.

这样做最优雅的方法是什么?

只制作两个条形图给我一个重叠:

import numpy as np
import matplotlib.pyplot as plt 

x = np.arange(4)
y2 = np.array([23, 32, 24, 28])
y1 = 4.2 * y2

fig = plt.figure(1, figsize=(6,6))

ax = fig.add_subplot(111)
ax.bar(x, y2) 
ax.set_ylabel('Consumption in $m^3$')
ax2 = ax.twinx()
ax2.bar(x, y1, alpha=0.5) 
ax2.set_ylabel('Consumption in EUR')

plt.savefig('watercomsumption.png', format='png', bbox_inches="tight")
Run Code Online (Sandbox Code Playgroud)

例如,情节

非常感谢!:-)


编辑:

我可能一直不清楚.我想提出一个单一的图形.像下面这样的东西.但有没有比调用条形函数两次并隐藏它更优雅的方式alpha=0

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(4)
y2 = np.array([23, 32, 24, 28])
y1 = 4.2 * y2

y2max …
Run Code Online (Sandbox Code Playgroud)

python matplotlib bar-chart

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

如何使用 ffmpeg 对多个输出视频进行一次音频编码

我想创建几个具有不同分辨率但相同音频的输出视频。Afaik 音频编码是一个输出选项。

ffmpeg \
  -hwaccel qsv -c:v h264_qsv \
  -i <input> \
  -filter_complex '[0:a]aformat=channel_layouts=stereo,aresample=async=1,asplit=3[a1][a2][a3];[0:v]vpp_qsv=detail=50:framerate=25,split=3[v1][v2][v3];[v2]vpp_qsv=width=1280[v2o];[v3]vpp_qsv=width=800[v3o]' \
  -c:v h264_qsv -c:a aac -b:a 96k -map '[v1]'  -map '[a1]' <output> \
  -c:v h264_qsv -c:a aac -b:a 96k -map '[v2o]' -map '[a2]' <output> \
  -c:v h264_qsv -c:a aac -b:a 96k -map '[v3o]' -map '[a3]' <output>
Run Code Online (Sandbox Code Playgroud)

上面我有两个冗余的音频编码。

如何对音频进行一次编码并将其复制到不同的输出?

ffmpeg video-encoding

0
推荐指数
1
解决办法
408
查看次数