第三章 图表辅助元素的定制

2023-12-15 13:39:45

3.1 设置坐标轴的标签,刻度范围和刻度标签

坐标轴对数据可视化效果有着直接的影响,坐标轴的刻度范围过大或过小,刻度标签过多或者过少,都会导致图形显示的比例不够理想。

3.1.1 设置坐标轴的标签

1.设置x轴的标签

xlabel(xlabel,fontdict=None,labelpad=None,**kwargs)

xlabel:表示x轴标签的文本

fontdict:表示控制标签文本样式的字典

labelpad:表示标签与坐标轴边框(包括刻度和刻度标签)的距离

2.设置y轴的标签

ylabel(ylabel,fontdict=None,labelpad=None,**kwargs)
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x, y1, x, y2)
# 设置 x 轴和 y 轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

3.1.2 设置刻度范围和刻度标签

1.设置刻度范围

xtick(ticks=None,labels=None,**kwargs)
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x, y1, x, y2)
# 设置 x 轴和 y 轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
# 设置 x 轴的刻度范围和刻度标签
plt.xlim(x.min() * 1.5, x.max() * 1.5)
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi], [r'$-\pi$', r'$-\pi/2$',
                                                       r'$0$', r'$\pi/2$', r'$\pi$'])
plt.show()

3.1.3 中国电影票房排行榜
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['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()
ax = fig.add_subplot(111)
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()

3.2 添加标题和图例

3.2.1 添加标题
title(label,fontdict=None,loc='center',pad=None,**kwargs)

label:表示标题的文本

fontdict:表示控制标题文本样式的字典

loc:表示标题的对齐样式,包括left,right和center三种取值,默认取值为center,即居中显示标题

pad:表示标题与图表顶部的距离,默认为None

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x, y1, x, y2)
# 设置 x 轴和 y 轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
# 设置 x 轴的刻度范围和刻度标签
plt.xlim(x.min() * 1.5, x.max() * 1.5)
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi], [r'$-\pi$', r'$-\pi/2$',
                                                       r'$0$', r'$\pi/2$', r'$\pi$'])
# 添加标题
plt.title("正弦曲线和余弦曲线")
plt.show()

3.2.2 添加图例
legend(handles,labels,loc,bbox_to_anchor,ncol,title,shadow,fancybox,*args,**kwargs)

1.handles和labels参数

handles参数表示由图形标识构成的列表,labels参数表示由图例项构成的列表。需要注意的是,handles和labels参数应接收相同长度的列表,若接收的列表长度不同,则会对较长的列表进行截断处理,使较长列表与较短列表长度相等。

2.loc参数

loc参数用于控制图例在图表中的位置,该参数支持字符串和数值两种形式的取值

位置编码 位置字符串 说明
0 best 自适应
1 upper right 右上方
2 upper le

文章来源:https://blog.csdn.net/u010321564/article/details/135012139
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。