xlabel("标题")
: X 轴标题ylabel("标题")
: Y 轴标题title("标题")
: 图像的标题from matplotlib import pyplot as plt
x = range(1,8)
y = [17, 17, 18, 15, 11, 11, 13]
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.xlabel('X-label') # X轴标题
plt.ylabel("Y-label") # Y轴标题
plt.title('Title') # 图像的标题
plt.show()
matplotlib是支持unicode编码的,中文乱码的主要问题是没有找到合适的中文字体
第一步: 创建了一个字体对象, 使用font_manager.FontProperties
创建
第二步: 在需要添加中文的地方添加了fontproperties
属性,
from matplotlib import font_manager
# 创建字体对象
my_font = font_manager.FontProperties(fname="D:/study/gameProjects/snake/SimHei.TTF", size=18)
x = range(1,8)
y = [17, 17, 18, 15, 11, 11, 13]
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.xlabel('X轴标题', fontproperties=my_font)
plt.ylabel("Y轴标题", fontproperties=my_font)
plt.title('图像标题', fontproperties=my_font)
plt.show()
plt.figure(figsize=(a, b), dpi=dpi)
figsize
设置图形的大小(比例),
dpi
为 设置图形每英寸的点数(像素点)%matplotlib inline
from matplotlib import pyplot as plt
from matplotlib import font_manager
from random import randint
x = range(20)
y = [randint(1,50) for i in range(20)]
plt.figure(figsize=(20, 10),dpi=100)
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.xlabel('X-label') # X轴标题
plt.ylabel("Y-label") # Y轴标题
plt.title('Title') # 图像的标题
plt.show()
plt.xticks(locs, [labels], **kwargs)
%matplotlib inline
from matplotlib import pyplot as plt
from matplotlib import font_manager
from random import randint
x = range(1, 20)
y = [randint(1,50) for i in range(1, 20)]
plt.figure(figsize=(20, 10),dpi=80)
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.xlabel('X-label') # X轴标题
plt.ylabel("Y-label") # Y轴标题
plt.title('Title') # 图像的标题
# x 轴刻度的标签列表 ['1-biaoqian', 2-biaoqian, ... , '19-标签']
labels = [str(i) +"-biaoqian" for i in range(1, 20)]
# 自定义x轴刻度显示
plt.xticks(x,labels,rotation=45)
plt.show()
rotation=45
: 刻度标签文字的旋转角度%matplotlib inline
from matplotlib import pyplot as plt
from matplotlib import font_manager
from random import randint
x = range(1, 20)
y_g = [randint(1,50) for i in range(1, 20)]
y_r = [randint(1,50) for i in range(1, 20)]
plt.figure(figsize=(20, 10),dpi=80)
plt.plot(x, y_g, color='green', label="green")
plt.plot(x, y_r, color='red', label="red")
plt.xlabel('X-label') # X轴标题
plt.ylabel("Y-label") # Y轴标题
plt.title('Title') # 图像的标题
# x 轴刻度的标签列表 ['1-biaoqian', 2-biaoqian, ... , '19-标签']
labels = [str(i) +"-biaoqian" for i in range(1, 20)]
# 添加图例
# plt.legend(prop=my_font) # 中文图例时使用prop传入字体
plt.legend()
# 这行代码就是添加网格的效果,这里面的 alpha=0.4是设置网格线的透明度,范围是(0~1)
plt.grid(alpha=0.4)
# 自定义x轴刻度显示
plt.xticks(x,labels,rotation=45)
plt.show()
plt.legend(prop=my_font)
是添加图例的方法
plt.subplot(nrows, ncols, index)
nrows
参数指定将数据图区域分成多少行ncols
参数指定将数据图区域分成多少列index
参数指定获取第几个区域(区域的index是从左倒右从上到下)%matplotlib inline
from matplotlib import pyplot as plt
from random import randint
x = range(1, 20)
y1 = [randint(1,50) for i in range(1, 20)]
y2 = [randint(1,50) for i in range(1, 20)]
y3 = [randint(1,50) for i in range(1, 20)]
plt.figure(figsize = (10,8))
# 第一个子图
# 折线图
plt.subplot(2, 2, 1)
plt.plot(x, y1)
plt.title('Axes1')
#第二个子图
# 折线图,y轴每个数据的立方
plt.subplot(2, 2, 2)
plt.plot(x, y2)
plt.title('Axes2')
#第三个子图
# 折线图,x轴和y轴均指定数据
plt.subplot(2, 2, 3)
plt.plot(x,y3)
plt.title('Axes3')
plt.show()
plt.subplot(2, 2, 1)
plt.subplot(2, 2, 2)
,以此类推