Python 散点图以不同颜色绘制多组点
我想把Dicconary的钥匙漆成不同的颜色,我怎么能得到这个Python 散点图以不同颜色绘制多组点,python,matplotlib,paint,scatter-plot,Python,Matplotlib,Paint,Scatter Plot,我想把Dicconary的钥匙漆成不同的颜色,我怎么能得到这个 colors: {"Hardcover": "red", "Kindle Edition":"green", "Paperback":"blue", "ebook":"purple", "Unknown Binding":"black"
colors: {"Hardcover": "red", "Kindle Edition":"green", "Paperback":"blue", "ebook":"purple", "Unknown Binding":"black", "Boxed Set - Hardcover":"yellow"}
fig, ax = plt.subplots(figsize=(16, 8))
for key, value in colors.items():
ax.scatter(data["Type"], data["Price"], c=value, label=key)
ax.legend()
plt.show()
您不必重复颜色。您可以将其作为一个系列传递
data=pd.DataFrame({'Type':['精装本','Kindle版','平装本','Price':[1,2,3]})
颜色={“精装本”:“红色”、“Kindle版”:“绿色”、“平装本”:“蓝色”}
图,ax=plt.子批次(图尺寸=(16,8))
散点颜色=数据['Type']。贴图(颜色)
ax.散布(数据['Type'],数据['Price'],c=散布颜色)
打印(散点颜色)
plt.show()
我认为在你的情况下不需要一个图例。如果您真的想拥有它,我认为唯一的方法可能是迭代“类型”
已编辑,因为OP需要图例:
将上面代码块中的scatter\u颜色
和ax.scatter
行替换为以下内容:
数据['type']中图书类型的。唯一()
data\u subset=data[data['Type']==book\u Type].copy()
散乱(数据子集['Type',数据子集['Price',颜色=颜色[书本类型],标签=书本类型)
ax.图例()
你的图像上传失败,你能修复吗?你好,汤姆,我正在尝试修复错误,但我无能为力。绘图是这样的:
ax.scatter(数据[“Type”]、数据[“Price”]、…)
将反复绘制相同的数据。因此,散点图将被精确地层叠在一起。非常感谢,这正是我需要的。但我必须添加一个传奇。我怎样才能得到它?现在编辑以显示它。我仍然觉得这是没有意义的,因为x记号标签也在说同样的话,但是如果你愿意…非常感谢!!