我正在使用matplotlib生成图表,我使用set_ticks和set_ticklabels标记x轴上的几个重要值.但是这些标签中的一些太靠近并且重叠.但我不知道如何在不移动刻度的情况下移动这些标签.
这是一个例子:

我尝试了几个技巧但失败了,我还没有在互联网上找到这个问题的答案.任何帮助,谢谢.
源代码:
fig = mpl.figure( figsize=(3, 3) ) # force figsize here to reproduce the problem.
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.grid(True)
mpl.show()
Run Code Online (Sandbox Code Playgroud)
结果如下:

我尝试了几个技巧,最好的一个是:
fig = mpl.figure( figsize=(3, 3) )
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.set_xticklabels([0.0, "", "", 1.0, 1.5])
ax.set_xticks([0.35], minor=True)
ax.set_xticklabels(["0.3 0.4"], minor=True)
ax.grid(True)
mpl.show()
Run Code Online (Sandbox Code Playgroud)

但是在x = 0.35处有一个小问题,我不知道如何删除它.
好的,我找到了自己删除小蜱的方法: …
最近,我一直在思考Lisp的基础; 我在互联网上阅读了几本手册和/或其他材料,包括P. Graham 的Lisp of Roz:
在Lisp的根中,quote被描述为将代码更改为数据的原语,从而引用它,但似乎没有等效的反向原语,即unquote原语.我认为它可能eval是业务,但eval经常在空词法环境中运行数据,这不等于将数据更改回代码.
Ergo,为什么不存在unquoteLisp原语?
我是Lua的新手,这些天我正在学习桌子的用法.从教程中我知道Lua对数字索引项和非数字索引项的处理方式不同,所以我自己做了一些测试,今天我发现了一个有趣的现象,我无法解释它:
代码
t = {1, 2, 3, a='a', b='b'}
print(#t)
Run Code Online (Sandbox Code Playgroud)
得到
3
Run Code Online (Sandbox Code Playgroud)
因为#运算符仅计算数字索引项.然后我测试了以下代码
t = {1, 2, 3, a='a', b='b'}
print(#t)
for i = 100,200 do
t[i] = i
end
print(#t)
Run Code Online (Sandbox Code Playgroud)
我明白了
3
3
Run Code Online (Sandbox Code Playgroud)
直到现在我认为Lua将稍后添加的不连续项目视为非数字索引项目.但是,在我更改代码之后
t = {1, 2, 3, a='a', b='b'}
print(#t)
for i = 100,300 do
t[i] = i
end
print(#t)
Run Code Online (Sandbox Code Playgroud)
我明白了
3
300
Run Code Online (Sandbox Code Playgroud)
我对这种现象感到困惑,有谁知道原因?谢谢.
(这种现象可以在http://www.lua.org/cgi-bin/demo上复制)
我试过这段代码
t = {1, 2, 3, a='a', b='b'}
print(#t)
for i = 100,300 do
t[i] = i …Run Code Online (Sandbox Code Playgroud) 因为我想使用Lisp的语法和Python的库.
也许像Parenscript这样的工具可以生成Python代码而不是Javascript.
假设我有一个名为“includes.cl”的文件,其中有几个函数定义。现在我有两种使用这些功能的方法:
(load "includes.cl")(load (compile-file "includes.cl"))后者比前者快吗?我只关心函数调用的运行速度。
我想定义一个可以对s表达式进行注释的宏,例如:
我希望
(list 1 2 (comment-macro (something))) -> (1 2)
Run Code Online (Sandbox Code Playgroud)
但是,如果我像这样定义宏
(defmacro comment-macro (x))
Run Code Online (Sandbox Code Playgroud)
实际上,上述形式的结果
(1 2 nil)
Run Code Online (Sandbox Code Playgroud) 我想计算1 + 1/2 + 1/3 + ... + 1/100000000的总和(使用双浮点数).
使用SBCL,此代码的运行速度与C中一样快:
(loop for i fixnum from 1 to 100000000 sum (/ 1.0d0 i) double-float)
Run Code Online (Sandbox Code Playgroud)
如何在Typed Racket中优化此代码?我试过了
#lang typed/racket
(define: (test) : Float
(for/fold: : Float
([s : Float 0.0])
([i : Fixnum (in-range 1 100000001)])
(+ s (/ 1.0 i))))
(time (test))
Run Code Online (Sandbox Code Playgroud)
此代码仅比无类型代码快一点.我可以走得更远吗?
我是Haskell的新手,我喜欢它优雅的语法.但我还没有找到一种合适的方法来定义无限的2D数组 - 例如,Pascal三角形:
1 1 1 1 1 ...
1 2 3 4 5 ...
1 3 6 10 15 ...
1 4 10 20 35 ...
1 5 15 35 70 ...
...
Run Code Online (Sandbox Code Playgroud)
我知道如何定义一个简单的函数:
pascal :: Int -> Int -> Int
pascal 1 _ = 1
pascal _ 1 = 1
pascal x y = (pascal (x - 1) y) + (pascal x (y - 1))
Run Code Online (Sandbox Code Playgroud)
由于Haskell不记忆函数值,因此调用pascal 20 20将花费很长时间.我怎么能定义一个快速版本(如无限的2D数组)?
在Python中,字符串列表可以通过连接在一起
','.join(['ab', 'c', 'def'])
Run Code Online (Sandbox Code Playgroud)
但是我怎么能轻易加入一个数字列表或其他一些东西呢?像这样:
0.join([1, 2, 3]) ---> [1, 0, 2, 0, 3]
Run Code Online (Sandbox Code Playgroud)
现在我必须这样做:
sum([[x, 0] for x in [1, 2, 3]], [])[:-1]
Run Code Online (Sandbox Code Playgroud) 我想编写一个函数print,其功能根据其参数的类型而有所不同。
这是我的实现:
template <typename T, typename std::enable_if<std::is_array<T>::value, int>::type = 0>
void print(const T &v) {
std::cout << "array: ";
for (const auto &e : v) {
std::cout << e << ", ";
}
std::cout << std::endl;
}
template <typename T, typename std::enable_if<std::is_integral<T>::value, int>::type = 0>
void print(const T &v) {
std::cout << "integral: " << v << std::endl;
}
template <typename T, typename std::enable_if<!(std::is_array<T>::value || std::is_integral<T>::value), int>::type = 0>
void print(const T &v) {
std::cout << "default: " …Run Code Online (Sandbox Code Playgroud) common-lisp ×2
lisp ×2
python ×2
c++ ×1
compilation ×1
eval ×1
haskell ×1
load ×1
lua ×1
lua-table ×1
macros ×1
matplotlib ×1
optimization ×1
quote ×1
racket ×1
sbcl ×1
templates ×1
typed-racket ×1