2013-11-21 561 views
52

私は2つのリスト、日付、値を持っています。 matplotlibを使ってプロットしたい。以下は私のデータの散布図を作成します。Matplotlibは散布図点と線を結ぶ - Python

import matplotlib.pyplot as plt 

plt.scatter(dates,values) 
plt.show() 

は折れ線グラフを作成します。

しかし、私が本当に欲しいのは、点が線で結ばれている散布図です。 R内と同様に

plot(dates, values) 
lines(dates, value, type="l") 

、私の点を結ぶ線を重ねポイントの散布図を示します。

私はこれをどのようにしてPythonで行いますか?赤線については

+2

コール 'ショー()' '散布()'と 'プロット()の両方を呼び出した後、'最初の? – Evert

答えて

77

用:

plt.scatter(dates,values) 
plt.plot(dates, values) 
plt.show() 

ほとんどはどれ同じ

plt.plot(dates, values, '-o') 
plt.show() 

または何でもlinestyleをお選びください。

+1

'linestyle'は、(gynormous)matplotlib docsを通過するための良いキーワード検索のヒントでした。 –

18

私は@Evertが正しい答えを持っていると思うポイント

plt.plot(dates, values, '.r-') 

またはXマーカーと青のライン

plt.plot(dates, values, 'xb-') 
+0

あなたのように、エバートとキグラは大丈夫です。 show()を呼び出す前にscatter()とplot()の両方を呼び出すことができます。あるいは、スティーブ・バーンズが記述した線と点の属性を使ってplot()を呼び出してください。ありがとう – brno792

7

他の回答に加えて、キーワード "zorder"を使用すると、異なるオブジェクトが垂直にプロットされる順序を決めることができます。 例えば:

plt.plot(x,y,zorder=1) 
plt.scatter(x,y,zorder=2) 

プロット線の上にスキャッタシンボル、一方、スキャッタシンボル上

plt.plot(x,y,zorder=2) 
plt.scatter(x,y,zorder=1) 

プロット線。

を参照してください、例えば、zorder demo