一、设置坐标轴的标签、刻度范围和刻度标签
1、设置坐标轴的标签
(1)、设置x轴的标签
使用pyplot模块的xlabel()函数设置x轴的标签
xlabel(xlabel,fontdict=None, labelpad=None,**kwargs)
(2)、设置y轴的标签
使用pyplot模块的ylabel()函数设置y轴的标签
ylabel(ylabel,fontdict=None, labelpad=None,**kwargs)
2、设置刻度范围和刻度长度
(1)、设置刻度范围
使用pyplot模块的xlim()和ylim()函数分布设置x轴和y轴的刻度范围
xlim(left=None,right=None, emit=True, auto=False, *,xmin=None, xmax=None)
(2)、设置刻度标签
使用pyplot模块的xticks()和yticks()函数分布设置x轴和y轴的刻度线位置和刻度标签
xticks(ticks=None,labels=None, **kwargs)
实例1:2019年中国电影票房排行版
代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
#显示中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#设置电影名称
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))
fig = plt.figure () #创建代表画布的Figure类的对象fig
ax = fig.add_subplot (111) #在画布fig上添加坐标系风格的绘画区域ax
ax.barh(y_data,bar_width, height=0.2,color='orange' ) #绘制图表
# 设置x轴和y轴的标签
ax.set_xlabel("总票房(亿元)")
ax.set_ylabel("电影名称")
# 设置y轴的刻度线位置、刻度标签
ax.set_yticks(y_data)
ax.set_yticklabels(labels)
plt.show () #展示图表
运行代码,效果如下:
二、添加标题和图例
1、添加标题
使用pyplot模块的title()函数添加图表标题
title(label,fontdict=None,loc='center',pad=None,**kwargs)
2、添加图例
使用pyplot模块的legend()函数添加图例
legend(handles, labels, loc, bbox_to_anchor, ncol, title, shadow,fancybox,
*args,**kwargs)
实例2:支付宝月账单报告(添加标题、图例)
代码如下:
#导入模板
import matplotlib.pyplot as plt
import matplotlib as mpl
# 设置中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
# 外侧说明文字
kinds = ['购物', '人情往来', '餐饮美食', '通信物流',
'生活日用', '交通出行', '休闲娱乐', '其他']
# 原有数据
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]
#创建画布并添加绘画区域:
fig = plt.figure( ) #创建代表画布的Figure类的对象fig
ax = fig.add_subplot(111) #在画布fig上添加坐标系风格的绘画区域ax
# 绘制图表
ax.pie(money_scale,autopct='%.1f%%',shadow=True,
explode=dev_position,startangle=90)
plt.title('支付宝月账单报告') #添加标题
plt.legend(kinds,loc='upper right',bbox_to_anchor=[1.3,1.1])
plt.show() #展示图表
运行代码,效果如下:
三、显示网格
使用pyplot模块的grid()函数显示网格
grid(b=None,which='major',axis='both', **kwargs)
实例3:汽车速度与制动距离的关系(添加网格)
#导入模块
import numpy as np
import matplotlib.pyplot as plt
#显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 准备 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.5, 70.8, 83.1, 96.4, 110.7,
126.0, 142.2, 159.4, 177.6, 196.8])
# 绘制气泡图
area=np.linspace(20,300,20) #生成一个等距递增数列
#创建画布并添加绘画区域:
fig = plt.figure( ) #创建代表画布的Figure类的对象fig
ax = fig.add_subplot(111) #在画布fig上添加坐标系风格的绘画区域ax
#绘制图表
ax.scatter(x_speed,y_distance,s=area)
#设置x轴、y轴的标签、刻度标签
plt.xlabel('速度(km/h)')
plt.ylabel('制动距离(m)')
plt.xticks(x_speed) #令每个点都在坐标上
plt.grid(b=True,linewidth=0.3) #显示网格
# 展示图表
plt.show()
运行代码,效果如下: