准备工作
- python3 环境
- pip install matplotlib
也可以通过acanda 构建python3 环境
案例一
from matplotlib import pyplot as plt
# 设置图片大小
fig=plt.figure(figsize=(20,8),dpi=80)
# 绘图
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
# 绘图
plt.plot(x,y)
# 绘制x轴的刻度
plt.xticks(x)
#plt.yticks(range(0,max(y)+1))
# 保存
#plt.savefig('./sig_size.png')
# 展示
plt.show()
案例2
# coding=utf-8
from matplotlib import pyplot as plt
import matplotlib
import random
from matplotlib import font_manager
#windows 设置字体的方式
#font = {'family' : 'monospace',
# 'weight' : 'bold',
# 'size' : 'larger'}
#matplotlib.rc("font",**font)
# 另外一种
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
# 设置图片大小
fig=plt.figure(figsize=(20,8),dpi=80)
# 绘图
x=range(120)
y=[random.randint(20,35) for i in range(120)]
# 绘图
plt.plot(x,y)
# 调整x轴的刻度
#_x=list(x)[::10]
#_xtick_labels=["hello,{}".format(i) for i in _x]
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels+=["11点{}分".format(i-60) for i in range(60,120)]
# 取步长,数字和字符串一一对应
plt.xticks(_x[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font) #rotation 表示旋转度数
# fc-list 查看当前系统支持的字体
# fc-list :lang=zh 查看系统支持的中文字体
# 添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(摄氏度)",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
# 展示
plt.show()
案例3
# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 另外一种
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
# 设置图片大小
fig=plt.figure(figsize=(20,8),dpi=80)
# 绘图
y=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
x=range(11,11+20)
# 绘图
plt.plot(x,y)
# 调整x轴的刻度
#_x=list(x)[::10]
#_xtick_labels=["hello,{}".format(i) for i in _x]
_x=list(x)
_xtick_labels=["{}岁".format(i) for i in x]
#_xtick_labels+=["11点{}分".format(i-60) for i in range(60,120)]
# 取步长,数字和字符串一一对应
plt.xticks(_x,_xtick_labels,rotation=45,fontproperties=my_font) #rotation 表示旋转度数
plt.yticks(range(9))
# 添加描述信息
plt.xlabel("年龄",fontproperties=my_font)
plt.ylabel("女孩(个数)",fontproperties=my_font)
#plt.title("年龄个数",fontproperties=my_font)
# 绘制网格
plt.grid(alpha=0.4) #alpha 表示透明度
# 展示
plt.show()
案例4
# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 另外一种
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
# 设置图片大小
fig=plt.figure(figsize=(20,8),dpi=80)
# 绘图
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,11+20)
# 绘图
plt.plot(x,y_1,label="自己",color="green")
plt.plot(x,y_2,label="同桌",color="cyan",linestyle='--',linewidth=5)
# 调整x轴的刻度
#_x=list(x)[::10]
#_xtick_labels=["hello,{}".format(i) for i in _x]
_x=list(x)
_xtick_labels=["{}岁".format(i) for i in x]
#_xtick_labels+=["11点{}分".format(i-60) for i in range(60,120)]
# 取步长,数字和字符串一一对应
plt.xticks(_x,_xtick_labels,rotation=45,fontproperties=my_font) #rotation 表示旋转度数
plt.yticks(range(9))
# 添加描述信息
plt.xlabel("年龄",fontproperties=my_font)
plt.ylabel("女孩(个数)",fontproperties=my_font)
#plt.title("年龄个数",fontproperties=my_font)
# 绘制网格
plt.grid(alpha=0.4,linestyle='-.') #alpha 表示透明度
# 添加图便
plt.legend(prop=my_font,loc=0)
# 展示
plt.show()