我想創建一個散點圖,其中顯示了在熊貓中彼此映射的兩列,大小的三分之一以及基於標籤點的顏色(在下面的情況,姓氏)。熊貓散點圖使用數據幀字段導出顏色和圖例
然後,我希望有一個傳說,顯示的顏色,然後
每個姓氏應該用不同的顏色和圖例顯示關聯的姓氏值點,例如,一個綠點和米勒,一個紅點和雅各布森等
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
'female': [0, 1, 1, 0, 1],
'age': [42, 52, 36, 24, 73],
'preTestScore': [4, 24, 31, 2, 3],
'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'female', 'preTestScore', 'postTestScore'])
plt.scatter(df.preTestScore, df.postTestScore, s=df.age, label=df.last_name)
plt.legend(loc='upper left', prop={'size':6}, bbox_to_anchor=(1,1),ncol=1)
這一點讓我這樣的事情:
我不知道如何獲得顏色(理想情況下,我喜歡使用調色板)或如何讓圖例顯示姓氏和點
任何幫助將很多讚賞..謝謝!
注 - 我從這裏以Chris Albon爲例。
可以分配每一個點不同的顏色與顏色的列表:'[ 'R', 'B', 'G', 'K', 'Y']'。我不知道如何安排圖例,以便每個人都有自己的排名,但是不會通過一系列的標籤。你可以做一個循環,並調用散佈圖5次不同的時間,這將得到你想要的情節。 –
這裏實際上有一個類似的問題:http:// stackoverflow。com/questions/16614558/legend-using-pathcollections-in-matplotlib – ImportanceOfBeingErnest