我有一个很大的osmnx(networkx)图,并且nx.all_pairs_dijkstra_path_length需要很长时间才能计算。
有哪些可能性可以加快计算速度?
我正在寻找一种在Python中绘制阴影错误区域而不是错误条的方法.
我知道matplotlib.pyplot.fill_between()您可以使用它为y错误构建解决方法,但不包括x-uncertainty.

有任何想法吗?不幸的是,我没有足够的声誉在这里发表评论.
提前致谢!
编辑
matplotlib.pyplot.fill_betweenx() 导致类似于:

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

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) 我有一个问题,我现在打了好几天.
如何计算拟合的(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)

但这只是线性最小二乘法.当我想要拟合例如饱和度曲线时
,我搞砸了.
当然,我可以从最小二乘法的标准误差计算t分布,scipy.optimize.curve_fit但这不是我正在寻找的.
谢谢你的帮助!!
我想使用,zoomed_inset_axes但盒子一旦通过主要人物的框架就会被截断。我无法变得更好
f.tight_layout()f.subplots_adjust(bottom=...)'figure.autolayout': Truef.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)
 我有两组线性相关的值.因此,我只需要一个右图中具有第二个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) 我想创建几个具有不同分辨率但相同音频的输出视频。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)
上面我有两个冗余的音频编码。
如何对音频进行一次编码并将其复制到不同的输出?
python ×4
matplotlib ×3
bar-chart ×1
dijkstra ×1
ffmpeg ×1
networkx ×1
osmnx ×1
python-2.7 ×1
regression ×1
statistics ×1
uncertainty ×1