我正在动态生成我的x轴和y轴数据并显示高图,但是当x轴范围很高且间隔很小时,图表会变得混乱.
如何制作高级图表以制作正常的水平可滚动图形?
这是我现在正在使用的:

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
//CODE FOR HIGHCHARTS JS
function makeChart() {
$('#container').highcharts({
chart: {
type: 'line',
marginRight: 130,
marginBottom: 100
},
title: {
text: 'Banana',
x: -20 //center
},
subtitle: {
text: 'Source: banana.com',
x: -20
},
xAxis: {
categories: xlist
},
yAxis: {
title: {
text: 'No. of C'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: 'C'
},
legend: {
layout: 'vertical',
align: 'right', …Run Code Online (Sandbox Code Playgroud) 给定一个列表列表,我想确保没有两个列表具有相同的值和顺序.例如,my_list = [[1, 2, 4, 6, 10], [12, 33, 81, 95, 110], [1, 2, 4, 6, 10]]它应该返回给我重复列表的存在,即[1, 2, 4, 6, 10].
我使用while但它不能按我的意愿工作.有人知道如何修复代码:
routes = [[1, 2, 4, 6, 10], [1, 3, 8, 9, 10], [1, 2, 4, 6, 10]]
r = len(routes) - 1
i = 0
while r != 0:
if cmp(routes[i], routes[i + 1]) == 0:
print "Yes, they are duplicate lists!"
r -= 1
i += 1
Run Code Online (Sandbox Code Playgroud) 设置
考虑numpy数组a
>>> np.random.seed([3,1415])
>>> a = np.random.choice([True, False], (4, 8))
>>> a
array([[ True, False, True, False, True, True, False, True],
[False, False, False, False, True, False, False, True],
[False, True, True, True, True, True, True, True],
[ True, True, True, False, True, False, False, False]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
问题
对于每一列,我想确定所有列的累积等价物.
结果应如下所示:
array([[ True, False, True, False, True, True, False, True],
[False, False, False, False, True, False, False, True],
[False, False, False, False, True, False, False, True],
[False, False, False, …Run Code Online (Sandbox Code Playgroud) 考虑我有这些列表:
l = [5,6,7,8,9,10,5,15,20]
m = [10,5]
Run Code Online (Sandbox Code Playgroud)
我想要得到的指数m在l.我使用list comprehension来做到这一点:
[(i,i+1) for i,j in enumerate(l) if m[0] == l[i] and m[1] == l[i+1]]
Run Code Online (Sandbox Code Playgroud)
输出: [(5,6)]
但如果我有更多的数字m,我觉得它不是正确的方法.那么Python或NumPy有什么简单的方法吗?
另一个例子:
l = [5,6,7,8,9,10,5,15,20,50,16,18]
m = [10,5,15,20]
Run Code Online (Sandbox Code Playgroud)
输出应该是:
[(5,6,7,8)]
Run Code Online (Sandbox Code Playgroud) 我想知道这个%timeit命令IPython
来自文档:
Run Code Online (Sandbox Code Playgroud)%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] setup_code选项:
-n:在循环中执行给定的语句次数.如果未给出该值,则选择拟合值.
-r:重复循环迭代次数并获得最佳结果.默认值:3
例如,如果我写:
%timeit -n 250 -r 2 [i+1 for i in range(5000)]
Run Code Online (Sandbox Code Playgroud)
那么,-n 250执行[i+1 for i in range(5000)]250次?那又怎么样-r 2?
我正在使用matplotlib库在一个图上绘制同一变量的多个数字.我不是在寻找colorbar的次要情节,这是占主导地位的搜索材料.我绘制多个scatters,但colorbar仅设置为最后一个散射I图的值.
这是代码的一部分:
plt.scatter(x1, y1, c=z1,cmap='viridis_r',marker='s')
plt.scatter(x2, y2, c=z2,cmap='viridis_r',marker='o')
plt.scatter(x3, y3, c=z3,cmap='viridis_r',marker='^')
plt.colorbar().set_label('Wind speed',rotation=270)
Run Code Online (Sandbox Code Playgroud) 要学习如何创建C扩展,我决定只复制一个内置.c文件(在本例中itertoolsmodule.c)并将其放在我的包中.我只能从更改的名称在模块内部itertools来mypkg.
然后我编译它(Windows 10,MSVC Community 14)setuptools.Extension:
from setuptools import setup, Extension
itertools_module = Extension('mypkg.itertoolscopy',
sources=['src/itertoolsmodulecopy.c'])
setup(...
ext_modules=[itertools_module])
Run Code Online (Sandbox Code Playgroud)
默认使用编译器标志/c /nologo /Ox /W3 /GL /DNDEBUG /MD,我在某处读取这些默认值等于python编译方式的设置.但是我使用conda(64位设置),所以这可能不一定是真的.
这一切都进展顺利 - 但是一个基准测试filterfalse显示它几乎比内置的慢2倍:
import mypkg
import itertools
import random
a = [random.random() for _ in range(500000)]
func = None
%timeit list(filter(func, a))
100 loops, best of 3: 3.42 ms per loop
%timeit list(itertools.filterfalse(func, a))
100 loops, best of 3: 3.41 ms …Run Code Online (Sandbox Code Playgroud) 我们假设以下函数:
def myfun(my_list, n, par1=''):
if par1 == '':
new_list = [[my_fun2(i,j) for j in range(n)] for i in range(n)]
else:
new_list = [[my_fun2(i,j) for j in range(n)] for i in range(n) if my_fun2(i,n) == par1]
return new_list
Run Code Online (Sandbox Code Playgroud)
如您所见,有两种不同的场景取决于par1.我不喜欢第3行和第5行几乎相同,并且不遵循DRY(不要重复自己)原则.如何改进此代码?
我有一个共享的python库,我在多个项目中使用,所以结构如下所示:
Project1
main.py <--- (One of the projects that uses the library)
...
sharedlib
__init__.py
ps_lib.py
another.py
Run Code Online (Sandbox Code Playgroud)
现在在每个项目的main.py中,我使用以下hack来使它工作:
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
import sharedlib.ps_lib
...
Run Code Online (Sandbox Code Playgroud)
有没有办法在不使用这个黑客的情况下做到这一点?或者有更好的方法来组织项目结构吗?
python directory-structure project-structure organization python-import
我正在用编辑器VScode编写一个Ionic应用程序.
是否有任何解决方案来生成我的项目的uml类图,就像在ide visual studio上一样?
最好的衣服
python ×8
numpy ×2
colorbar ×1
duplicates ×1
highcharts ×1
if-statement ×1
ipython ×1
list ×1
matplotlib ×1
organization ×1
pandas ×1
performance ×1
python-c-api ×1
scatter-plot ×1
timeit ×1
uml ×1