1.0 设置坐标轴的标签、刻度范围和刻度标签
1.1设置x,y轴的标签
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备数据
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 =np.sin(x),np.cos(x)
#设置x轴y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
#绘制图表
ax.plot(x,y1,x,y2)
plt.show()
代码运行结果如下:
1.2设置刻度范围和刻度标签
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备数据
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 =np.sin(x),np.cos(x)
#设置x轴y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min()*1.5,x.max()*1.5)
ax.set_xticks([-np.pi,-np.pi/2, 0, np.pi/2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$0$',r'$\pi/2$',r'$\pi$'])
#绘制图表
ax.plot(x,y1,x,y2)
plt.show()
代码运行结果如下:
1.3 实例 2019年中国电影票房排行榜
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#设置标签
labels=["哪吒之魔童降世","流浪地球","复仇者联盟4:终局之战",
"疯狂的外星人","飞驰人生","烈火英雄","蜘蛛侠:英雄远征",
"速度与激情:特别行动",
"扫毒2:天地对决","大黄蜂","惊奇队长","比悲伤更悲伤的故事","哥斯拉2:怪兽之王","阿丽塔:战斗天使","银河补习班"]
#准备数据
bar_width=[48.57,46.18,42.05,21.83,17.03,16.70,14.01,13.84,12.85,11.38,10.25,9.46,9.27,8.88,8.64]
y_data=range(len(labels))
#设置x轴y轴的标签
ax.set_xlabel('总票房(亿元)')
ax.set_ylabel('电影名称')
#设置y轴的刻度线位置、刻度标签
ax.set_yticks(y_data)
ax.set_yticklabels(labels)
#绘制图表
ax.barh(y_data,bar_width,height=0.2,color='orange')
plt.show()
代码运行如下:
2.0 添加标题和图例
2.1 添加标题和图例
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备数据
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 =np.sin(x),np.cos(x)
#设置x轴y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min()*1.5,x.max()*1.5)
ax.set_xticks([-np.pi,-np.pi/2, 0, np.pi/2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$0$',r'$\pi/2$',r'$\pi$'])
#添加标题
lines=ax.plot(x,y1,x,y2)
ax.legend(lines,['正弦','余弦'],shadow=True,fancybox=True)
ax.set_title('正弦曲线和余弦曲线')
#绘制图表
ax.plot(x,y1,x,y2)
plt.show()
代码运行如下:
2.2 支付宝月账单报告(添加标题、图例)
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备数据
money_scale=[800,100,1000,200,300,200,200,200]
dev_position=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]##爆炸程度
#饼图外侧的说明文字
kinds=['购物','人情往来','餐饮美食','通信物流','生活日用','交通出行','休闲娱乐','其它']
#添加标题
ax.set_title('支付宝月账单报告')
#添加图例
ax.legend(kinds,loc='upper right',bbox_to_anchor=[1.7,1.1])
#绘制饼图
ax.pie(money_scale,labels=kinds,autopct='%.1f%%',shadow='true',explode=dev_position,startangle=90)
plt.show()
代码运行如下:
3.0 显示网格
3.1 显示指定样式的网格
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备数据
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 =np.sin(x),np.cos(x)
#设置x轴y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min()*1.5,x.max()*1.5)
ax.set_xticks([-np.pi,-np.pi/2, 0, np.pi/2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$0$',r'$\pi/2$',r'$\pi$'])
#添加标题
lines=ax.plot(x,y1,x,y2)
ax.legend(lines,['正弦','余弦'],shadow=True,fancybox=True)
ax.grid(b=True,axis='y',linewidth=0.3)
ax.set_title('正弦曲线和余弦曲线')
# 显示网格
ax.grid(b=True,axis='y',linewidth=0.3)
#绘制图表
ax.plot(x,y1,x,y2)
plt.show()
代码运行如下:
3.2 # 实例3:汽车速度与制动距离的关系(添加网络)
具体代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
#准备x和y的的数据
x_speed=np.arange(10,210,10)
y_distance=np.array([0.5,2.0,4.4,7.9,12.3,17.7,24.1,31.5,39.9,49.2,59.9,70.8,83.1,96.4,110.7,126.0,142.2,159.4,177.6,196.8])
#设置x轴的标签、刻度标签
ax.set_xlabel('速度(km/h)')
ax.set_ylabel('制动距离(m)')
ax.set_xticks(x_speed)
#显示网格
ax.grid(b=True,linewidth=0.3)
#绘制散点图
ax.scatter(x_speed,y_distance,s=50,alpha=0.9,linewidths=0.3
plt.show()
运行结果如下: