matplotlib设置x-xticks()、y轴刻度-yticks()

设置x轴刻度

matplotlib默认显示的x轴刻度,有时不能满足使用需求,此时就需要设置x轴刻度

下面是简单的图表,x轴上的刻度显示数字:

下面是复杂的图表,x轴上的刻度显示文字,且有旋转:

官方文档:
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.xticks.html?highlight=xticks#matplotlib.pyplot.xticks

语法

matplotlib.pyplot.xticks(ticks ,labels,rotation,fontsize)
参数说明:
  • ticks:类数组类型,数值类型,表示刻度
  • labels:类数组类型,字符串类型,在x轴上显示文字
  • rotation:旋转度数
  • fontproperties:设置字体,显示中文时必须设置字体
  • fontsize:文字大小

例子:设置x轴刻度

import matplotlib.pyplot as plt

temps=[23,22,23,24,27,28,25,23]
hours=list(range(2,26,3))
plt.figure(figsize=(8,4),dpi=100)

# 设置x轴的刻度与 hours 相同
plt.xticks(hours)

plt.plot(hours,temps)
plt.show()

执行后生成图像如下:

例子:x轴显示中文字符

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['Microsoft YaHei']

temps=[23,22,23,24,27,28,25,23]
hours=list(range(2,26,3))

# 设置图片大小
plt.figure(figsize=(8,4),dpi=100)

# 设置x轴lable
lables=['%d小时'%item for item in hours]

# 设置x轴刻度、lable内容、并使用中文字体
plt.xticks(hours,lables)

plt.plot(hours,temps)
plt.show()

执行结果如下图:

设置x轴刻度旋转

关键

由于要通过 xticks() 设置 x轴刻度文字的旋转角度,所以调用 plot() 方法绘制折线图时,x轴上的值,就只能是数字列表,而不能是标签列表

然后再通过 xticks() 设置x轴上的刻度标签

代码
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['MicroSoft YaHei']

# x轴上的数据
x = [0,1,2,3,4,5,6,7,8,9,10,11,12]
# x轴刻度标签
xlabel = ['余杭', '下城', '大江东', '之江', '江干', '江干', '上城', '滨江', '拱墅', '西湖', '临安', '富阳', '下沙']

# 折线数据
data = [23000, 55000, 19000, 32000, 38000, 68000, 45000, 42000, 41000, 18000, 22000, 21000,30000]
# 绘制折线
plt.plot(x, data, marker="o")

# 设置 x 轴上的刻度文字,通过 rotation = 45 设置刻度文字旋转45度
plt.xticks(x, xlabel, rotation=45)

plt.title("各区域住宅成交均价")
# 显示图
plt.show()

设置y轴刻度

语法

matplotlib.pyplot.yticks(ticks ,labels,rotation)

使用方式同x轴相关函数


原文出处:/show_1EF3n4IGOfd8.html