学习目标:
不同类型图像绘制
学习内容:
1.线形图绘制
单条线绘制
plt.figure(figsize=(5,3)) # 画布
x = ["Mon","Tues","Wed","Thur","Fri","Sat","Sun"] # 设置x轴
y = [20,40,35,55,42,80,50]
plt.plot(x,y,marker="D",markersize=5)
plt.xlabel("星期") # 设置x轴标签
plt.ylabel("活跃度") # 设置y轴标签
plt.title("python语言活跃度")
for a,b in zip(x,y):
plt.text(a,b,b,ha="center",va="center") # 为每个点添加标记
成品:
多条线绘制
plt.figure(figsize=(5,3))
x = np.random.randint(0,10,size=15) [0,10)之间随机整数,15个
plt.plot(x,marker="*",c='r') # ‘*’标记 红色
plt.plot(x.cumsum(),marker="o",c="b")
2.柱状图绘制
普通柱状图:
x = "语文 数学 英语 python 化学".split() # 生成 x 坐标
y = [20,10,40,60,10] # 定义 y 坐标
plt.figure(figsize=(5,3))
plt.bar(x,y) # 绘制柱状图
成品:
簇状柱状图:
plt.figure(figsize=(5,3))
plt.title("年销售额")
plt.xlabel("年份")
plt.ylabel("销售额")
w = 0.2 # 偏移量
# 绘制簇状图 (在原x值进行一定偏移)
plt.bar(x+w,y1,width=w,label="北区") # label为图例标签名
plt.bar(x,y2,width=w,label="中区")
plt.bar(x-w,y3,width=w,label="南区")
# 绘制折线图
plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.legend() # 添加图例
堆叠柱状图:
plt.figure(figsize=(5,3))
plt.title("年销售额")
plt.xlabel("年份")
plt.ylabel("销售额")
# 绘制堆叠柱状图 (在相同x轴的点,在y坐标偏移)
plt.bar(x,y1,label="北区")
plt.bar(x,y2,label="中区",bottom=y1)
plt.bar(x,y3,label="南区",bottom=y1+y2)
plt.legend()
条形图:
x和y轴的位置互转
plt.barh(x,y1)
方形图
x = np.random.randint(0,10,100)
plt.hist(x,bins=[0,3,6,7,10]) # 将[a,b]之间的值相加
plt.xticks(range(10))
plt.show()
划分更细的直方图:
plt.bar(range(100),x) # 划分与x个数相同的单位
箱型图
这个图能很直观的看出异常值(与其他值相差很大的)
x = [1,2,3,5,7,9,20]
plt.boxplot(x)
散点图
散点图可以看作没有线连接的一种图
简单散点图:
x = range(1,7)
y = range(10,70,10)
plt.scatter(x,y)
气泡图:
plt.figure(figsize=(5,3))
s = np.random.randint(50,100,size=100)
c = np.random.randn(100)
plt.scatter(data[:,0],data[:,1],s=s,c=c,alpha=0.6)
六边形图:
plt.figure(figsize=(5,3))
plt.hexbin(x,y,gridsize=20,cmap="rainbow") #绘制 彩虹颜色
plt.xlabel("广告费用")
plt.ylabel("广告收入")
plt.title("费用和收入之间关系")
饼状图
x = [10,20,30,40]
plt.pie(x,labels="大一 大二 大三 大四".split(),autopct="%.3f") #autopct 为展示数据的格式