本文实例讲述了Python利用matplotlib绘制约数个数统计图。分享给大家供大家参考,具体如下:
利用Python计算1000以内自然数的约数个数,然后通过matplotlib绘制统计图。
下图为约数个数的散点图及其分布情况的条形图。
Python代码:
import collections import matplotlib.pyplot as plt def countDivisors(num): ans = 1 x = 2 while x * x <= num: cnt = 1 while num % x == 0: cnt += 1 num /= x ans *= cnt x += 1 return ans * (1 + (num > 1)) MAXNUM = 1000 x = range(1, MAXNUM) y = map(countDivisors, x) plt.subplot(2, 1, 1) plt.title('Divisors Count') plt.xlim(0, MAXNUM) plt.ylim(0, max(y) + 1) plt.scatter(x, y) plt.grid(True) plt.subplot(2, 1, 2) plt.title('Statistics of Divisor Count') z = collections.Counter(y) plt.bar(z.keys(), z.values(), align = 'center') plt.grid(True) plt.show()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。