回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想创建一个散点图,显示pandas中的两个列相互映射,第三列是大小,然后是基于标签的点的颜色(在下面的例子中,是姓氏)。在</p>
<p>然后我想要一个图例,显示一个点的颜色,然后最后的名称值</p>
<p>每个姓氏应与不同的颜色相关联,图例显示,例如,绿点和米勒,红点和雅各布森等</p>
<pre><code>%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)
</code></pre>
<p>这给了我这样的感觉:</p>
<p><a href="https://i.stack.imgur.com/qo3SW.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qo3SW.png" alt="enter image description here"/></a></p>
<p>我根本不知道怎么把颜色调进去(理想情况下,我想用调色板),或者怎么让图例显示姓氏和圆点</p>
<p>任何帮助都将不胜感激。。谢谢!在</p>
<p>注意-我从这里举一个例子<a href="http://chrisalbon.com/python/matplotlib_scatterplot_from_pandas.html" rel="nofollow noreferrer">Chris Albon</a>。在</p>