我想绘制一个包含 3 列的时间序列数据框,每条曲线一列。我希望每条曲线都有自己的颜色,并显示图例,就像hvplot()默认情况下一样。
这是一个独立的示例:
import numpy as np
import pandas as pd
import hvplot.pandas
import datetime
from holoviews.operation.datashader import datashade
n=1000
start = datetime.datetime(2010, 10, 1, 0) # Start time
datetimerange = [start + datetime.timedelta(minutes=1)*i for i in range(n)]
A = np.random.randint(5, size=n)
B = np.random.randint(20, 40, size=n)
C = np.random.randint(10, 20, size=n)
d = {'datetime': datetimerange, 'A': A, 'B': B, 'C': C}
df = pd.DataFrame(d).set_index('datetime')
df.hvplot(cmap=['red', 'blue', 'green']) + datashade(df.hvplot(cmap=['red', 'blue', 'green']))
Run Code Online (Sandbox Code Playgroud)
这是结果(左侧没有数据着色器,右侧有数据着色器):
将绘图传递给数据着色器时,颜色和图例会丢失。使用datashade=True的参数hvplot …
我最近发现了自动化调试的神奇世界,您的工具尝试自动隔离导致错误的代码部分。从那时起,我找到了一些工具,例如:
我有兴趣寻找更多用于自动调试的算法,这些算法可以自动化调试过程的部分(或全部?),并且存在实用的工作实现,特别是:
注意:我引用的一些工具主要针对Python,但我正在寻找任何语言的自动调试工具,我感兴趣的是方法和算法,而不是具体的实现,但我需要一个实现(甚至是概念证明)因为我想要已经实际应用于实际问题的算法(即它们有效,但这不是计算机科学哲学)。
澄清:我不是在寻找自动化测试工具(自动测试以查找新错误),而是在您遇到特定错误并希望在代码中找到根源的自动化调试方法。
我有几个不同的条形图数字,用不同数量的条形成.因此,图形的总宽度和高度会有所不同,但我希望所有条形图的条形尺寸始终相同.
到目前为止我尝试的是按比例调整figsize的数量.这似乎并不一致.
这是一个示例代码:
nb_bars_list = [2, 10]
for i, nb_bars in enumerate(nb_bars_list):
# Resize proportionally to the number of bars
figsize = [1+nb_bars, 5]
# Prepare the ticks
ticks = np.arange(1, 1+nb_bars, 1)
# Generate random points
points = [np.random.randn(10) for x in xrange(nb_bars)]
# Make the plot
fig, ax = plt.subplots()
if figsize:
fig.set_size_inches(figsize[0], figsize[1], forward=True)
for b in xrange(nb_bars):
ax.bar(ticks[b], points[b].mean())
fig.savefig('test%i' % i, bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)
如果我们使用GIMP重叠,我们可以清楚地注意到条宽的差异:
无论条数多少,如何确保条的宽度相同?
我正在使用matplotlib 2.
我想知道是否有可能在调用它之前列出Python函数所期望的变量,以便从包含大量变量的更大的dict传递预期的变量.
我在网上搜索但找不到任何东西.但是,python解释器可以显示预期变量的列表,所以肯定必须有一些方法在脚本中执行它?
如何计算向量的伪逆和行列式?(最好使用 numpy 或更好的 pandas)
我尝试了这个,但它不起作用:
import numpy
vect = [1, 2, 3, 4]
numpy.linalg.pinv(vect)
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
---------------------------------------------------------------------------
LinAlgError Traceback (most recent call last)
<ipython-input-106-e362654e383f> in <module>()
19 vect = [1, 2, 3, 4]
---> 20 print(np.linalg.pinv(vect))
C:\Python27\lib\site-packages\numpy\linalg\linalg.pyc in pinv(a, rcond)
1544 _assertNonEmpty(a)
1545 a = a.conjugate()
-> 1546 u, s, vt = svd(a, 0)
1547 m = u.shape[0]
1548 n = vt.shape[1]
C:\Python27\lib\site-packages\numpy\linalg\linalg.pyc in svd(a, full_matrices, compute_uv)
1269 """
1270 a, wrap = _makearray(a)
-> 1271 _assertRank2(a)
1272 _assertNonEmpty(a)
1273 m, …Run Code Online (Sandbox Code Playgroud) 我有一个double函数,通常返回变量的新值,但有时我不想更改变量,我想通过返回一个特殊值来表示,例如void.那可能吗?
例如:
double GetNewValue(int feature) {
switch( feature ) {
case TYPE1:
return void; // or maybe use return; here?
case TYPE2:
return 2.343;
default:
return featureDefaultValue;
}
}
Run Code Online (Sandbox Code Playgroud)
PS:我知道我可以使用NaN,但我已经将它用作具有其他含义的有效值(还没有数字可用).
/编辑:谢谢大家的答案,这3个答案都适用于我的问题,并且都同样有效.我现在正在努力选择我将要使用哪一个(我会接受的那个,但我希望我能接受它们!).
python ×4
function ×2
automation ×1
c ×1
datashader ×1
debugging ×1
holoviews ×1
matplotlib ×1
numpy ×1
pandas ×1
python-2.7 ×1
return ×1
variables ×1
vector ×1
void ×1