x =[i for i inrange(-10,11)]
y =[i**3for i in x]
plt.figure(figsize=(6,4))
plt.plot(x,y)
plt.show()
折线图
import random
plt.figure(figsize=(6,4))
x =range(10)
y =[random.uniform(5,10)for i in x]
plt.plot(x,y)
plt.show()
多折线图
plt.figure(figsize=(6,4))
x =range(10)
y1 =[random.uniform(5,10)for i in x]
y2 =[random.uniform(5,10)for i in x]
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
多坐标系折线图
# nrows为几行 ncols为单行有多少列 fig为画图 axes为坐标系的列表
fig, axes = plt.subplots(nrows=1,ncols=2)
x =range(10)
y1 =[random.uniform(5,10)for i in x]
y2 =[random.uniform(5,10)for i in x]# 第一个坐标系 axes[0]
axes[0].plot(x,y1)# 第二个坐标系 axes[1]
axes[1].plot(x,y2)
plt.show()
增加难度
import random
plt.figure(figsize=(6,4))
x =range(7)
y =[random.uniform(1,20)for i in x]# 定义表名
plt.title("某市一周的平均气温")# 注释坐标轴
plt.xlabel("日期")
plt.ylabel("平均气温")# 修改坐标轴上显示的数据
x_week =["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
plt.xticks(x, x_week)
plt.yticks(range(0,20,2))# label 添加图形注释
plt.plot(x,y,label="温度")
plt.legend(loc="best")
plt.show()
柱状图(一)
plt.figure(figsize=(6,4))
plt.title("某部电影评分")# 最高5分 最低1分
rate =["{}分".format(i)for i inrange(6)]# 各评分的人数
rate_num =[2,2,3,5,7,1]
x =range(len(rate))
plt.ylabel('人数')
plt.xticks(x, rate)
plt.bar(x, rate_num,width=0.5)
plt.show()
柱状图(二)
plt.figure(figsize=(6,4))
plt.title("某部电影儿童和成人的评分")# 最高5分 最低1分
rate =["{}分".format(i)for i inrange(6)]# 儿童的评分
rate_num_c =[2,2,3,5,7,1]# 成人的评分
rate_num_a =[0,2,5,5,5,3]
x =range(len(rate))
plt.ylabel('人数')# 让坐标点在儿童和成人柱状图的中间
plt.xticks([i+0.1for i in x], rate)# 儿童的柱状图
plt.bar(x, rate_num_c,width=0.2, label="儿童")# 成人的柱状图 为了防止重合x坐标加了0.2
plt.bar([i+0.2for i in x], rate_num_a,width=0.2, label="成人")
plt.legend(loc="best")
plt.show()
直方图
plt.figure(figsize=(20,8))
plt.title("统计电影的时长")# 时长数据
time =[131,98,125,131,124,139,131,117,128,108,135,138,131,102,107,114,119,128,121,142,127,130,124,101,110,116,117,110,128,128,115,99,136,126,134,95,138,117,111,78,132,124,113,150,110,117,86,95,144,105,126,130,126,130,126,116,123,106,112,138,123,86,101,99,136,123,117,119,105,137,123,128,125,104,109,134,125,127,105,120,107,129,116,108,132,103,136,118,102,120,114,105,115,132,145,119,121,112,139,125,138,109,132,134,156,106,117,127,144,139,139,119,140,83,110,102,123,107,143,115,136,118,139,123,112,118,125,109,119,133,112,114,122,109,106,123,116,131,127,115,118,112,135,115,146,137,116,103,144,83,123,111,110,111,100,154,136,100,118,119,133,134,106,129,126,110,111,109,141,120,117,106,149,122,122,110,118,127,121,114,125,126,114,140,103,130,141,117,106,114,121,114,133,137,92,121,112,146,97,137,105,98,117,112,81,97,139,113,134,106,144,110,137,137,111,104,117,100,111,101,110,105,129,137,112,120,113,133,112,83,94,146,133,101,131,116,111,84,137,115,122,106,144,109,123,116,111,111,133,150]# 组距
a =2# 组数
bins =int((max(time)-min(time))/a)
plt.hist(time, bins,normed=1)
plt.xlabel("电影时长")
plt.ylabel("电影多少")# 设置显示的横坐标数据
plt.xticks(list(range(min(time),max(time)+1))[::2])# 显示网格
plt.grid(True)
plt.show()