热线电话:13121318867

登录
2019-04-28 阅读量: 750
如何使用python来画散点图?

【.plot作图】


# kind="scatter",做散点图,x轴表示花瓣长度,y轴表示花瓣宽度
iris.plot(kind="scatter",color="red",x="petal_length",y="petal_width")

【matlibplot.pyplot.plot作图】 [plt.plot( )]

plt.style.use('ggplot')

#设置画布大小
plt.figure(figsize=(8,6))

#scatter绘制散点图,s设置点大小
plt.scatter(x=top10.Purchases,y=top10.Sales,s=100)

【seaborn作图】[sns.] v.s. 【.plt作图】

matplotlib是python的主要绘图工具,但其自身的语法比较复杂

Seaborn是基于matplotlib产生的一个模块,专攻于统计可视化

Seaborn和matplotlib的关系类似于pandas和numpy的关系

我们来看看seaborn相较于plt的简洁之处,下面两个代码实现同样的效果——花瓣长宽散点图,以品种划分数据.

seaborn实现

# FacetGrid中的hue参数指明划分数据的变量,这里是species(品种)
# \ 用于将一行语句提行
# add_legend()添加图例
#先将iris数据集以species字段划分开

sns.FacetGrid(iris,hue='species',size=7)\
.map(plt.scatter,'petal_length','petal_width').add_legend()

plt实现

# 使用布尔型索引,分别获取三种类型鸢尾花的数据集
setosa=iris[iris.species=="Iris-setosa"]
versicolor=iris[iris.species=="Iris-versicolor"]
virginica=iris[iris.species=="Iris-virginica"]

#作图,setosa数据散点图ax
bx = setosa.plot(kind="scatter",x="petal_length",y="petal_width",color="red",label="setosa",figsize=(10,6))
#将其余两种类型的花数据也作图在ax上
versicolor.plot(ax=bx,kind="scatter",x="petal_length",y="petal_width",color="blue",label="versicolor")
virginica.plot(ax=bx,kind="scatter",x="petal_length",y="petal_width",color="yellow",label="virginica

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子