Matplotlib 是 Python 的绘图库,常用来在无前端页面时进行一些本地数据趋势和结果的绘制展示,做相关使用的重点记录。
pyplot 主题的设置
使用pyplot画图时,常觉得画图效果不是很好。其实pyplot自带有26种主题可供选择,只是常规显示的默认主题。
如何查看支持的主题
styles = plt.style.available
print(styles)
支持的主题列表如下:
['seaborn-dark', 'seaborn-darkgrid', 'seaborn-ticks', 'fivethirtyeight', 'seaborn-whitegrid', 'classic', '_classic_test', 'fast', 'seaborn-talk', 'seaborn-dark-palette', 'seaborn-bright', 'seaborn-pastel', 'grayscale', 'seaborn-notebook', 'ggplot', 'seaborn-colorblind', 'seaborn-muted', 'seaborn', 'Solarize_Light2', 'seaborn-paper', 'bmh', 'tableau-colorblind10', 'seaborn-white', 'dark_background', 'seaborn-poster', 'seaborn-deep']
设置主题
plt.style.use("seaborn") # 设置使用的样式,eg:设置主题样式为的seaborn
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
linux 机器中文不支持的问题
可参阅文档:https://www.jianshu.com/p/7b7a3e73ef21
pylot 绘图
绘制一个图
import matplotlib.pyplot as plt
plt.figure(figsize=(6, 4)) # 设置图形的大小,宽和高,单位是英尺
line_color = "#4DC2FF" # 定义线条颜色,可以选择自己喜欢的颜色
plt.style.use("seaborn") # 设置使用的样式,众多主题选择喜欢的,不设置则使用默认的
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
x_data = range(20) # x 轴的数据
y_data = [2, 4, 3, 5, 6, 5, 4, 7, 8, 7, 6, 8, 6, 5, 6, 5, 4, 7, 8, 3] # y轴的值
plt.plot(x_data, y_data, color=line_color) # 设置数据和线条颜色等
plt.title("这是标题", fontsize=14, fontweight='bold') # 设置标题
plt.ylabel('这是y轴') # 设置y坐标轴名称
plt.xlabel("这是x轴") # 设置x坐标轴名称
'''
plt.xlabel、plt.ylabel 设置坐标轴名称
plt.xticks、plt.yticks设置坐标轴刻度
'''
image_name = "demo.jpg"
plt.savefig(image_name) # 保存为本地图片
plt.show() # 绘制图片
效果展示:

绘制多个子图
subplot(nrows, ncols, index, **kwargs) 支持绘制子图在当前图面里
nrows是要绘制的总行数,ncols是总列数,index是当前子图的index。
譬如要绘制4张图,2行2列的话,index则从左到右,从上到下,按照如下规则排列,分别为1,2,3,4。
1 | 2 |
---|---|
3 | 4 |
如下示例,绘制了6张图,2行3列。
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 8)) # 设置图形的大小,宽和高,单位是英尺
line_color = "#4DC2FF" # 定义线条颜色,可以选择自己喜欢的颜色
plt.style.use("seaborn") # 设置使用的样式,众多主题选择喜欢的,不设置则使用默认的
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
image_name = "demo.jpg"
x_data = range(10) # x 轴的数据
y_data = [2, 4, 5, 6, 5, 4, 3, 4, 3, 4] # y轴的值
for index in range(6):
plt.subplot(2, 3, index + 1)
plt.plot(x_data, y_data, color=line_color) # 设置数据和线条颜色等
plt.title("这是第{index}个子图".format(index=index+1))
plt.savefig(image_name) # 保存为本地图片
plt.show() # 绘制图片

网友评论