python 散点图

python的画图功能强大 ,为了加强对python的基础认识 ,通过对相关语法的了解 ,加深认识

本期是python 三点图 scatterplot

#d导入需要会的绘图库
import numpy as np
import pandas as pd 
import matplotlib as mpl
import matplotlib.pyplot as plt 
import seaborn as sns
%matplotlib inline
#plt.show  显示你的图像 ,加入 inline 上面这行代码 就 不用 在写这个show code
# data set define 
x1 = np.random.randn(10)   # 定义的随机
x2 = x1+ x1**2  - 10 
#make sure a plan ,当只有一个图的时候 ,画布不是必须的 
plt.figure(figsize =(8,4))
#绘图 
plt.scatter(x1,x2
            ,s=50  # 点的尺寸大小   
           ,c ="blue"
           ,label = "Positive")
#装饰图像
plt.legend() #显示图例   ,显示 图例 就是  label 属性
plt.show()
X  = np.random.randn(10,2)
y= np.array([0,0,1,1,0,1,0,1,0,0,])
plt.figure(figsize=(8,4))
plt.scatter(X[:,0],X[:,1]
                 ,s=20,c= y)
plt.show()
#继续升级  
colors =["red","blue"]
lables = ["zero","one"]

for i in range(X.shape[1]):  # 一共有两列
    plt.scatter(X[y==i,0],X[y==i,1],
                color =colors[i],label=lables[i])  # c = colors[i] do okay 


plt.show()

通过继续升级 我们看到  ,使用了指定的颜色,使用了循环

下图是美国老外朋友的博客里面的一个实例

#instance or example 
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")
#midwest.head()#
#prepare data 
#create as many as colors as there are unique midwest['']
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]   # tab10 () 接受一个float 数据 
categories.shape
plt.figure(figsize=(16,10),dpi = 80 ,facecolor ='w',edgecolor ='k')   # dpi  分辨率  
for i ,category in enumerate(categories):
    plt.scatter('area','poptotal',
               data = midwest.loc[midwest.category==category,:],
               s =20 ,c=np.array(colors[i]).reshape(1,-1),label=str(category))
#Decorations 

plt.gca().set(xlim=(0.0,0.1),ylim=(0,90000),xlabel='Area',ylabel='Population')
plt.xticks(fontsize=12);plt.yticks(fontsize=12)   # 坐标轴上尺寸的大小
plt.title("Scatterplot of Midwest Area vs Population",fontsize =22)
plt.legend(fontsize =12)
plt.legend()
plt.show()

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值