2017-04-26 13 views
0

から散布図をプロット:私はボリューム対コストをプロットしたいのです次のように私は、データフレームを持つデータフレーム

Metal     Cost per m^3/$  volume/mm^3 
0 Cast Iron    5996.0    20088.253323 
1 Medium Carbon Steel  4301.0    12636.050310 
2 Alloy Steel    6490.6    9134.975311 
3 Stainless Steels  34621.0   29216.210066 
8 Titanium Alloys   76500.0   16303.954297 

。 どのようにして各点を別の色でプロットし、金属列を凡例として使用しますか?

+0

(http://meta.stackexchange.com/a/5235)[受諾]ご検討ください/それが参考にした場合の答えをupvoting - それはまた、あなたの質問に回答されていることを示します – MaxU

+1

次回は、データフレームのサンプルをいくつか提供してください。データフレームを再生するには5分、答えを書き込むには2分かかっています。 – ImportanceOfBeingErnest

答えて

2

データフレームの行を反復処理し、pyplot.scatterを使用して点をプロットすることができます。

import pandas as pd 
import matplotlib.pyplot as plt 

a = ["Cast Iron", "Medium Carbon Steel", "Alloy Steel", 
    "Stainless Steels", "Titanium Alloys"] 
b = [5996,4301, 6490,34621,76500] 
c = [ 20088.253323, 12636.050310, 9134.975311, 29216.210066,16303.954297] 

df = pd.DataFrame({"Metal":a, "cost":b, "volume":c}) 

for row in df.iterrows(): 
    plt.scatter(row[1]["cost"], row[1]["volume"], 
       c=plt.cm.jet(row[0]/float(len(df))), label=row[1]["Metal"]) 

plt.legend() 
plt.show() 

enter image description here

関連する問題