一、中文显示乱码
在matplotlib中使用中文显示乱码,需要使用下面的代码来正常显示中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
二、正负号显示
matplotlib中会出现显示负号错误的问题
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
三、内容显示
3.1 放置标签
for x, y in operator_id:
# 显示标签,bar图可以使用,x,y是整数注意摆放位置
plt.text(x + 0.05, y + 0.05, '%d' % y, ha='center', va='bottom')
3.2 设置标签
plt.title("k-meas聚类分析") # 设置图片的标题
plt.xlabel('user_id') # 设置横坐标的标签值
plt.ylabel('user_action') # 设置纵坐标的标签值
plt.grid() # 设置网格
# bbox_to_anchor:表示放置标签的位置
# plt.legend(loc=2),可以用数字表示标签内放的位置
plt.legend(loc="center left", bbox_to_anchor=(1, 0.9), ncol=1) # 标签外放
3.3 mark内容
mark的类型地址如下:https://matplotlib.org/api/markers_api.html#module-matplotlib.markers
四、刻度设置
使用以下的方法在matplotlib中设置区间范围
import matplotlib.pyplot as plt plt.ylim(30, 60) # 设置y的范围 plt.xlim(30, 60) # 设置x的范围
五、箭头绘制
使用以下的代码可以在matplotlib中绘制箭头
import matplotlib.pyplot as plt
# 参数意义:x的位置,y的位置,x的偏移量,y的偏移量,箭头宽,线宽,颜色
plt.arrow(x_2020[x + 1], y + 2.5, 0, 3.5, head_width=0.1, linewidth=6, color="red")
六、文本插入
使用以下的代码可以完成相应的文本插入
import matplotlib.pyplot as plt
# 参数意义:x的位置,y的位置,显示的数,以及位置,下面的是在正上方显示
plt.text(x_2020[x] + 0.1, y + 0.05, '%.2f' % y, ha='center', va='bottom')
七、图例的显示
使用下面的位置来显示图例,同时需要注意使用图例的时候也可以在legend中去声明label,也可以在图像中去声明label
import matplotlib.pyplot as plt
# 参数的意义,loc是位置的显示,可使用字符或者是数字代替。、
# bbox_to_anchor是偏移位置,从自左向右和自底向上的路径进行设置,y的设置(0,1)内是会贴在图片附近,否则就会远离图片
plt.legend(loc=2, bbox_to_anchor=(0, 0.93))
八、产生映射的坐标
我们在有的时候需要两个刻度来显示我们的内容,因此需要使用到两个刻度的问题
import matplotlib.pyplot as plt
# 使用下面的两个函数就可以完成相应的设置了
# 第一个坐标轴,这样就可以在里面编写内容
ax1 = plt.figure().subplots()
# 第二个坐标轴
ax2 = ax1.twinx()
九、注意
有时候会出现一些提示,可能原因有以下几点
1. 图形和设置的大小不一样
2. 出现了异常的范围:负号、中文等