小编Mar*_*van的帖子

如何使用 Matplotlib 加速大量矩形的绘图?

我需要用 Matplotlib 绘制大量矩形对象。这是一个带有 n 个随机生成矩形的简单代码。

import matplotlib
import matplotlib.pyplot as plt
import random

fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')
plt.xlim([0, 1001])
plt.ylim([0, 1001])
n=10000
for i in range(0,n):
    x = random.uniform(1, 1000)
    y = random.uniform(1, 1000)
    ax.add_patch(matplotlib.patches.Rectangle((x, y),1,1,))
plt.show()
Run Code Online (Sandbox Code Playgroud)

n=10000 需要几秒钟,但如果我们将矩形的数量增加到 100K,则需要太多时间。有什么建议可以改进它,或者在合理的时间内使用不同的方法来制作情节?

python plot matplotlib

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

NSNumber丢失十进制数字

我需要将浮点数保存到NSNumber(称为ordered.value的变量)中.问题是转换期间十进制数字已设置为零.

此外,我添加了3版变量的日志,以便您可以看到原始浮点数是正确的.然后NSNumber丢失了十进制数字.

这是我的第一次尝试(更简单的版本):

ordered.value = [NSNumber numberWithFloat:[o.valore floatValue]];
NSLog(@"%f,%f",[o.valore floatValue],[ordered.value floatValue]);
Run Code Online (Sandbox Code Playgroud)

但我仍然丢失十进制数字.日志:

2013-05-20 20:05:19.617 Piazzetta[9636:c07] 232.179993,232.000000
2013-05-20 20:05:19.617 Piazzetta[9636:c07] 20159.490234,20159.000000
2013-05-20 20:05:19.618 Piazzetta[9636:c07] 16.540001,16.000000
Run Code Online (Sandbox Code Playgroud)

这是我的第二次尝试(使用NSNumberFormatter)

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
ordered.value = [f numberFromString:o.valore];
NSLog(@"%f,%f",[o.valore floatValue],[ordered.value floatValue]);
Run Code Online (Sandbox Code Playgroud)

日志:

2013-05-20 20:16:22.781 Piazzetta[9951:c07] 232.179993,232.000000
2013-05-20 20:16:22.782 Piazzetta[9951:c07] 20159.490234,20159.000000
2013-05-20 20:16:22.782 Piazzetta[9951:c07] 16.540001,16.000000
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

标签 统计

ios ×1

matplotlib ×1

objective-c ×1

plot ×1

python ×1