import matplotlib.pyplot as plt
import random
# 修复中文显示异常
plt.rcParams['font.sans-serif']=['SimHei']# 1. 准备数据
x =range(60)# random.uniform(15, 18) 在15-18之间随机生成数值 外面增加中括号表示输出列表形式# random.uniform(15, 18) for i in x 执行60次
y_shanghai =[random.uniform(15,18)for i in x]
y_henan =[random.uniform(15,18)for i in x]# 2. 创建画布
plt.figure()# 3. 绘制图像
plt.plot(x, y_shanghai, color='r', linestyle='-.', label='上海')
plt.plot(x, y_henan, color='g', linestyle='-', label='河南')# 增加图例
plt.legend()# 修改x,y刻度
x_label =["11点{}分".format(i)for i in x]# 设置x轴刻度单位为5
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(10,30,2))# 添加网格显示 alpha=0.5 表示透明度
plt.grid(linestyle='--', alpha=0.5)# 添加描述信息
plt.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("北京、上海不同时间温度变化情况")# 4. 显示图像
plt.show()
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei']# 创建多个坐标轴
x =range(60)
y1 =[random.uniform(15,18)for i in x]
y2 =[random.uniform(15,18)for i in x]# 画布创建表示为
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=100)# 绘制图像
axes[0].plot(x, y1, color='r', linestyle='-.', label="上")
axes[1].plot(x, y2, color='y', label="河")# 修改x,y刻度
x_label =["11点{}分".format(i)for i in x]
axes[0].set_xticks(x[::5])# axes[0].set_xticklabels(x_label)
axes[0].set_yticks(range(0,40,5))
axes[1].set_xticks(x[::5])# axes[1].set_xticklabels(x_label)
axes[1].set_yticks(range(0,40,5))# 添加网格显示
axes[0].grid(linestyle="--", alpha=0.5)
axes[1].grid(linestyle="--", alpha=0.5)# 添加描述信息
axes[0].set_xlabel("时间变化")
axes[0].set_ylabel("温度变化")
axes[0].set_title("上海11点到12点每分钟的温度变化状况")
axes[1].set_xlabel("时间变化")
axes[1].set_ylabel("温度变化")
axes[1].set_title("北京11点到12点每分钟的温度变化状况")
plt.show()
# 折线图绘制函数图像import matplotlib.pyplot as plt
import numpy as np
# np.linspace(-1, 1, 1000)表示区间[-1,1]左闭右闭并等间隔生成1000个数字
x = np.linspace(-1,1,1000)
y =2* x * x
plt.figure()
plt.plot(x, y)
plt.show()
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x =[225.98,247.07,253.14,457.85,241.58,301.01,20.67,288.64,163.56,120.06,207.83,342.75,147.9,53.06,224.72,29.51,21.61,483.21,245.25,399.25,343.35]
y =[196.63,203.88,210.75,372.74,202.41,247.61,24.9,239.34,140.32,104.15,176.84,288.23,128.79,49.64,191.74,33.1,30.74,400.02,205.35,330.64,283.45]
movie_name =['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它']
place_count =[60605,54546,45819,28243,13270,9945,7679,6799,6101,4621,20105]
plt.figure()# 散点图# plt.scatter(x, y)# 柱状图# plt.bar(x, y)# 饼图
plt.pie(place_count, labels=movie_name, colors=['b','r','g','y','c','m','y','k','c','g','y'], autopct="%1.2f%%")# 表示横纵轴比相同,即显示为圆形
plt.axis('equal')
plt.show()