from matplotlib import pyplot as plt
import matplotlib
x=range(0,120)
y=[random.randint(20,35)for i inrange(120)]
plt.figure(figsize=(20,8),dpi=80)# 设置图片大小和清晰度
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')# 设置字体,中文能显示(matplotlib默认不显示中文)# 调整x的刻度
xtick_table =['10点{}分'.format(i)for i inrange(60)]
xtick_table +=['11点{}分'.format(i)for i inrange(60)]# 取步长,数字和字符串一一对应
plt.xticks(list(x)[::3],xtick_table[::3],rotation=45)# rotation设置旋转的角度# 添加描述信息
plt.xlabel('时间')
plt.ylabel('温度 单位(℃)')
plt.title('10点到12点每分钟的气温变化情况')
plt.plot(x,y)# 绘制
plt.show()
绘制一个人
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
y =[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
x =range(11,31)
plt.figure(figsize=(20,8),dpi =80)
xtick_label =('{}岁'.format(i)for i in x)
plt.xticks(list(x),xtick_label,rotation=45)
plt.xlabel('岁数')
plt.ylabel('交往人数')
plt.title('某人11岁到30岁交往朋友的人数')
plt.plot(x,y)
plt.show()
绘制俩个人
from matplotlib import pyplot as plt
import matplotlib
%matplotlib inline
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a =[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
b =[2,1,4,5,3,6,2,0,1,2,3,3,5,6,1,1,1,2,2,0]
x =range(11,31)
plt.figure(figsize=(20,8),dpi =80)
xtick_label =('{}岁'.format(i)for i in x)
plt.xticks(list(x),xtick_label,rotation=45)
plt.xlabel('岁数')
plt.ylabel('交往人数')
plt.title('俩个人11岁到30岁交往朋友的人数')
plt.grid()# 绘制网格
plt.plot(x,a,label='自己')# 添加图例 改颜色color=''
plt.plot(x,b,label='同桌')
plt.legend()# 显示图例 loc='upper left'传参显示到左上角
plt.savefig('./1.png')# 保存图片
plt.show()
2、散点图
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
y_3 =[11,17,16,11,12,11,6,6,7,8,9,12,14,15,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23,25]
y_10 =[26,26,28,15,15,18,17,19,16,18,25,24,25,26,18,19,26,24,25,18,19,26,19,18,19,17,24,23,22,15,14]
x_3 =range(1,32)
x_10 =range(51,82)
plt.figure(figsize=(20,8),dpi=80)
_x =list(x_3)+list(x_10)
_xtick_table =['3月{}日'.format(i)for i in x_3]
_xtick_table +=['10月{}日'.format(i-50)for i in x_10]
plt.xticks(_x[::3],_xtick_table[::3],rotation=45)
plt.scatter(x_3,y_3,label='3月')
plt.scatter(x_10,y_10,label='10月')
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('3月和10月温度对比')
plt.legend(loc='upper left')
plt.show()
3、条形图
横向
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a =['电影1','电影2','电影3','电影4','电影5']
b =[10,15,17,9,20]
plt.figure(figsize=(20,8),dpi=80)
plt.barh(range(len(a)),b,height=0.3,color='orange')# 横着barh
plt.yticks(range(len(a)),a)
plt.grid()
plt.show()
竖向
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a =['电影1','电影2','电影3','电影4']
b_14 =[200,25,68,15]
b_15 =[175,24,50,60]
b_16 =[150,26,60,19]
bar_width =0.2
x_14 =list(range(len(a)))
x_15 =[i+bar_width for i in x_14]
x_16 =[i+bar_width*2for i in x_14]
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(a)),b_14,width=bar_width,label='9月14日')
plt.bar(x_15,b_15,width=bar_width,label='9月15日')
plt.bar(x_16,b_16,width=bar_width,label='9月16日')
plt.legend()
plt.xticks(x_15,a)
plt.show()
from matplotlib import pyplot as plt
import numpy as np
index = np.arange(5)# 设置横坐标的值
value =[20,30,45,35,50]# 设置柱状的长度
plt.bar(index, value, width=0.5, label='population', facecolor='#ff0000')
plt.title('Grouping Allocation')
plt.xticks(index,('Group1','Group2','Group3','Group4','Group5'))# 刻度(俩层含义:刻标locs和刻度标签tick labels)
plt.yticks(np.arange(0,60,10))
plt.legend(loc='upper left')
a =zip(index, value)# 打包成元组for x, y in a:
plt.text(x,y,y,ha='center',va='bottom')# text为每一个柱形添加标签,第三个参数为添加的标签内容,ha,va指定标签横纵方向的对齐方式
plt.show()
1、折线图from matplotlib import pyplot as pltimport matplotlibx=range(0,120)y=[random.randint(20,35) for i in range(120)]plt.figure(figsize=(20,8),dpi=80)#设置图片大小和清晰度matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')#设置字体,中文能显示(matplotlib默认不显示中文