008day_matplotlib_study

import matplotlib.pyplot as plt
import random
import matplotlib
import numpy as np
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号

1.数据简单可视化

  • 创建画布
  • 绘制图像
  • 显示图像
#创建画布
plt.figure(figsize=(20,8),dpi=100)
# 图像绘制
x = [1,2,3,4,5]
y = [3,4,5,6,7]
plt.plot(x,y)
#图像展示
plt.show()

在这里插入图片描述

2.图像保存

#创建画布
plt.figure(figsize=(20,8),dpi=100)
# 图像绘制
x = [1,2,3,4,5]
y = [3,4,5,6,7]
plt.plot(x,y)

#图像保存:一定要放在show前面(注意)
plt.savefig('./data/test.png')

#图像展示:进行释放资源,如果展示完在保存,保存不成功
plt.show()

3.画出温度变化图

# 0.生成数据

x = range(60)
y = [random.uniform(10,15) for i in x]
y_shanghai = [random.uniform(15,25) for i in x]

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.绘制图形,一个图显示多条线
plt.plot(x,y,label = "北京",linestyle=":")#linestyle:(“-”:实线,“--”:虚线,“:”:点虚线,“-.”:点划线,“”:留空、空格)
plt.plot(x,y_shanghai,label = "上海")#color:()

# 2.1添加x轴,y轴刻度
y_ticks=range(40)

plt.yticks(y_ticks[::5])

x_ticks_lables = ["11点{}分".format(i) for i in x]

plt.xticks(x[::5],x_ticks_lables[::6])#注意:第一个参数必须是数字,后面可进行值的替换

# 2.2添加网格
plt.grid(True,linestyle = "--",alpha=0.5)#linestyle:"-":实线,“--”虚线。alpha:值越大线的颜色越深

# 2,3添加描述
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一小时温度变化图",fontsize=20)

# 2.4显示图例
plt.legend(loc=0)#需要在显示之前声明plot里面的lable的具体值


# 3.图形展示
plt.show()

在这里插入图片描述

4.多个坐标系显示

-fig,axes = plt.subplots()
-nrows --几行
-ncols --几列
-注意:有些方法需要添加set_
# 0.生成数据

x = range(60)
y = [random.uniform(10,15) for i in x]
y_shanghai = [random.uniform(15,25) for i in x]

# 1.创建画布
# plt.figure(figsize=(20,8),dpi=100)
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)

# 2.绘制图形,一个图显示多条线
# plt.plot(x,y,label = "北京",linestyle=":")#linestyle:(“-”:实线,“--”:虚线,“:”:点虚线,“-.”:点划线,“”:留空、空格)
# plt.plot(x,y_shanghai,label = "上海")#color:()

axes[0].plot(x,y,label = "北京",linestyle=":")#linestyle:(“-”:实线,“--”:虚线,“:”:点虚线,“-.”:点划线,“”:留空、空格)
axes[1].plot(x,y_shanghai,label = "上海")#color:()

# 2.1添加x轴,y轴刻度
y_ticks=range(40)

# plt.yticks(y_ticks[::5])

x_ticks_lables = ["11点{}分".format(i) for i in x]

# plt.xticks(x[::5],x_ticks_lables[::6])#注意:第一个参数必须是数字,后面可进行值的替换

axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_lables[::5])

axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_lables[::5])


# 2.2添加网格
# plt.grid(True,linestyle = "--",alpha=0.5)#linestyle:"-":实线,“--”虚线。alpha:值越大线的颜色越深
axes[0].grid(True,linestyle = "--",alpha=0.5)#linestyle:"-":实线,“--”虚线。alpha:值越大线的颜色越深
axes[1].grid(True,linestyle = "--",alpha=0.5)#linestyle:"-":实线,“--”虚线。alpha:值越大线的颜色越深


# 2,3添加描述
# plt.xlabel("时间")
# plt.ylabel("温度")
# plt.title("一小时温度变化图",fontsize=20)

axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("一小时北京温度变化图",fontsize=20)

axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("一小时上海温度变化图",fontsize=20)


# 2.4显示图例
# plt.legend(loc=0)#需要在显示之前声明plot里面的lable的具体值

axes[0].legend(loc=0)
axes[1].legend(loc=0)


# 3.图形展示
plt.show()

在这里插入图片描述

5.plot绘制数学图像

# 0.生成数据
x = np.linspace(-10,10,1000)
y = np.sin(x)
y1 = x*x*x

# 1.创建画布
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)

# 2.绘制图像
axes[0].plot(x,y)
axes[1].plot(x,y1)

# 2.1.添加网格
axes[0].grid(linestyle='--',alpha=0.5)
axes[1].grid(linestyle='--',alpha=0.5)


# 3.显示图像
plt.show()

在这里插入图片描述

6.散点图

import random
# 数据准备
x = [random.uniform(1,40) for i in range(20)]
y = [random.uniform(20,40) for i in range(20)]

# 创建画布
plt.figure(figsize=(20,8),dpi=100)

# 绘制图像
plt.scatter(x,y)

# 图像展示
plt.show()

在这里插入图片描述

7.柱状图

# 电影名字
movie_name = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它']
# 纵坐标票房
y=[73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]
# 横坐标
x = range(len(movie_name))

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)


# 2.绘制图像
plt.bar(x,y,color=['b','r','y','g','c','m'],width=0.5)

# x轴
plt.xticks(x,movie_name,fontsize=15)

# 网格
plt.grid(linestyle='-',alpha=0.5)

# 标题
plt.title('某月电影票房统计',fontsize=16)

# 3.显示
plt.show()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值