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()