2017-02-12 3 views
0

私は素数を計算するプログラムを作成しました。それはちょうどテストだったが、グラフ上にプロットするのは面白いと思った。matplotlib.pyplotを使用してリストを一度にプロットするにはどうすればよいですか?

import matplotlib.pyplot as plt 

max = int(input("What is your max no?: ")) 
primeList = [] 

for x in range(2, max + 1): 
    isPrime = True 
    for y in range (2 , int(x ** 0.5) + 1): 
    if x % y == 0: 
     isPrime = False 
     break 

    if isPrime: 
     primeList.append(x) 


print(primeList) 

どのように私は、その後primeListをプロットすることができ、私はのためのループの外に一度にそれをすべて行うことができますか?

+0

現在、あなたは何をプロットしていませんか?また、あなたは 'x軸'に対して何を描きますか?同じ長さのリストにx/yペアを供給するだけです。 – roganjosh

+0

'plt.plot(範囲(len(primeList))、primeList)'などです。 – roganjosh

+0

私はそれをプロットした余分なコードブロックと、primeList内のアイテムの量であったitemsInListという変数を持っていました。 –

答えて

1

これは、そのインデックス対あなたのリストをプロット:

from matplotlib import pyplot as plt 

plt.plot(primeList, 'o') 
plt.show() 

このプログラム:

from matplotlib import pyplot as plt 

max_= 100 
primeList = [] 

for x in range(2, max_ + 1): 
    isPrime = True 
    for y in range (2, int(x ** 0.5) + 1): 
     if x % y == 0: 
      isPrime = False 
      break 
    if isPrime: 
     primeList.append(x) 

plt.plot(primeList, 'o') 
plt.show() 

は、このプロットが得られます。

enter image description here

関連する問題