Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

这篇具有很好参考价值的文章主要介绍了Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

前面五期的文章详细讲述了Python Matplotlib数据可视化绘图的方法技巧,主要涉及柱状图(《Python Matplotlib数据可视化绘图之(一)————柱状图》)、箱线图(《Python Matplotlib数据可视化绘图之(二)————箱线图》)、散点图(《Python Matplotlib数据可视化绘图之(三)————散点图》)、柱状图与折线图的叠加图(《Python Matplotlib数据可视化绘图之(四)————柱状图与折线图的叠加图》)、箱线图与散点图的叠加图(《Python Matplotlib数据可视化绘图之(五)————箱线图与散点图的叠加图》),这五类作图类型。那么,在这五期中其实有一些作图的小细节是没有在文章中详细讲解的,本期内容就详细介绍绘图过程中所涉及的一些细节,主要包括图片大小、颜色、标题、纵横坐标、画布、绘图区域的背景颜色、Legend图例等参数。


一、图片大小的设定和调节

1. 三种调整matplotlib图片大小的方法

1.1 plt.figure(figsize=(n, n))

比如想让输出的图片大小为600x600像素:

1.1.1 代码如下:
import matplotlib.pyplot as plt

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(6, 6))
# 600 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100
plt.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
plt.ylabel('编程语言用户量(人数)', fontweight='bold')
plt.show()
1.1.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解


比如想让输出的图片大小为800x600像素:

1.1.3 代码如下:
import matplotlib.pyplot as plt

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(8, 6))
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100
plt.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
plt.ylabel('编程语言用户量(人数)', fontweight='bold')
plt.show()
1.1.4 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解


1.2 plt.rcParams[‘figure.figsize’]=(n, n)

这一方法可以同时对多个图片设置大小,也就是说,在写上这句话以后,不用在其他地方再写plt.figure(figsize=(n, n))这句语句了。输出的图片都是这种尺寸,如果中间想单独改变某一个图片的大小尺寸,可以再用plt.figure(figsize=(n, n))来指定图片大小即可。

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=(8, 6)
# 全局设置输出图片大小 800 x 600 像素
1.2.1 代码如下:
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure()
fig2 = plt.figure()
ax1 = fig1.add_subplot()
ax2 = fig2.add_subplot()
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax2.bar([1, 2, 3, 4, 5, 6, 7], [2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
ax1.set_title('fig1', fontweight='bold')
ax2.set_ylabel('历年苹果产量(kg)', fontweight='bold')
ax2.set_title('fig2', fontweight='bold')
plt.show()
1.2.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

由结果可以看出,两张图fig1和fig2的尺寸大小都是800x600的。如果我们想改变其中一张图片(fig2)的大小为600x600的,如下面1.2.3和1.2.4所示:

1.2.3 代码如下:
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure(facecolor='#B0C4DE')
fig2 = plt.figure(figsize=(6, 6), facecolor='#B0C4DE')
ax1 = fig1.add_subplot(facecolor='white')
ax2 = fig2.add_subplot(facecolor='white')
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax2.bar([1, 2, 3, 4, 5, 6, 7], [2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
ax1.set_title('fig1', fontweight='bold')
ax2.set_ylabel('历年苹果产量(kg)', fontweight='bold')
ax2.set_title('fig2', fontweight='bold')
plt.show()
1.2.4 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

由结果可以看出,两张图fig1和fig2的尺寸大小像我们预期的那样,实现了fig1为800x600,fig2为600x600。


1.3 样式表+plt.style.use(‘xxx.mpstyle’)

这一方法也可以同时对多个图片设置大小,也就是说,在写上这句话以后,不用在其他地方再写plt.figure(figsize=(n, n))这句语句了。输出的图片都是这种尺寸,如果中间想单独改变某一个图片的大小尺寸,可以再用plt.figure(figsize=(n, n))来指定图片大小即可。和1.2功能一样。

1.3.1 新建文件,文件名为xxx.mpstyle,例如style.mpstyle。编辑文件内容:
figure.figsize:8,6
1.3.2 在Python文件中:
import matplotlib.pyplot as plt
plt.style.use('style.mpstyle')
# 样式表文件路径

如果需要对某个图片设置其他大小,使用方法一(plt.figure(figsize=(n, n)))即可。

以上就是三种调节图片大小的方式方法。


二、图片颜色的设定和调节

1. 图片颜色的设定

图片分为画布和轴域,fig是画布,ax是轴域

1.1 设置画布颜色为"#B0C4DE",轴域颜色为"white",则代码如下:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure(facecolor='#B0C4DE')
ax1 = fig1.add_subplot(facecolor='white')
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
ax1.set_title('fig1', fontweight='bold')
plt.show()

1.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

1.3 设置画布颜色为"#FF8C00",轴域颜色为"white",则代码如下:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure(facecolor='#FF8C00')
ax1 = fig1.add_subplot(facecolor='white')
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
ax1.set_title('fig1', fontweight='bold')
plt.show()

1.4 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解


三、图片标题的设定和调节

1. 图片标题的设定

图片标题的设定分为两种方式,一种是面向对象方式,另一种是直接方式。

1.1 方式一,面向对象,利用fig=plt.figure(), ax=fig.add_subplot(), ax.set_title(), 代码如下:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure(facecolor='#B0C4DE')
ax1 = fig1.add_subplot(facecolor='white')
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
ax1.set_title('fig1', fontweight='bold')
plt.show()

1.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

1.3 方式二,直接方式,利用plt.title(), 代码如下:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8, 6)
# 800 x 600 像素(先宽度 后高度)
# 注意这里的宽度和高度的单位是英寸,1英寸=100像素,所以要除以100

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

fig1 = plt.figure(facecolor='#B0C4DE')
ax1 = fig1.add_subplot(facecolor='white')
ax1.plot([2000, 3000, 3000, 5000, 2000, 1000, 800])
ax1.set_ylabel('编程语言用户量(人数)', fontweight='bold')
plt.title('fig1', fontweight='bold')
plt.show()

1.4 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

四、图片纵横坐标的设定和调节

1. 图片纵横坐标的设定

纵横坐标包括纵横坐标的刻度和刻度标签

1.1 刻度,这里我们通过设置x轴的刻度进行说明,代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

x_labels = ['C', 'C++', 'Python', 'Java', 'Java Script', 'PHP', 'Ruby']
y_2020 = [2000, 3000, 3000, 5000, 2000, 1000, 800]
y_2021 = [3000, 4000, 6000, 4000, 4000, 2000, 1000]
y_2022 = [5000, 6000, 10000, 6000, 3000, 2000, 1000]

y_middle = []
for i in range(len(y_2020)):
    y_middle.append((y_2020[i] + y_2021[i] + y_2022[i]) / 3)

legend_labels = ['2020', '2021', '2022']
y = [y_2020, y_2021, y_2022]
fig = plt.figure(figsize=(8, 6), facecolor='#B0C4DE')
ax = fig.add_subplot(facecolor='white')
# 红橙黄绿青蓝紫
color_list = ['#FF0000', '#FF8C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#800080']
x_loc = np.arange(7)
# x轴上每个刻度上能容纳的柱子的总的宽度设为0.8
total_width = 0.8
# 由y值可以看出x轴每个刻度上一共有3组数据, 也即3个柱子
total_num = 3
# 每个柱子的宽度用each_width表示
each_width = total_width / total_num
if total_num % 2 == 0:
    x1 = x_loc - (total_num / 2 - 1) * each_width - each_width / 2
else:
    x1 = x_loc - ((total_num - 1) / 2) * each_width
x_list = [x1 + each_width * i for i in range(total_num)]
print(x_list)
# 这里颜色设置成 橙色:"#FF8C00"
for i in range(0, len(y)):
    ax.bar(x_list[i], y[i], color=color_list[i], width=each_width, label=legend_labels[i])

# 设置x轴的刻度
ax.set_xticks(x_loc)

ax.grid(True, ls=':', color='b', alpha=0.3)
ax.set_xlabel('编程语言类别', fontweight='bold')
ax.set_ylabel('编程语言用户量(人数)', fontweight='bold')
plt.title('编程语言用户量数据分析图', fontweight='bold', pad=25)
# 添加双轴
ax_twinx = ax.twinx()
ax_twinx.plot(x_loc, y_middle, linestyle='-', marker='o', markersize=3, color=color_list[1], label='Middle')
fig.legend(loc='upper center', bbox_to_anchor=(0.5, 0.96), frameon=False, ncol=5, handlelength=0.9, handleheight=0.9, fontsize='small')
ax_twinx.set_ylabel('Middle', fontweight='bold')
fig.tight_layout()
fig.subplots_adjust(top=0.9)
plt.show()

1.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

1.3 刻度标签,这里我们通过设置x轴的刻度标签进行说明,代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

x_labels = ['C', 'C++', 'Python', 'Java', 'Java Script', 'PHP', 'Ruby']
y_2020 = [2000, 3000, 3000, 5000, 2000, 1000, 800]
y_2021 = [3000, 4000, 6000, 4000, 4000, 2000, 1000]
y_2022 = [5000, 6000, 10000, 6000, 3000, 2000, 1000]

y_middle = []
for i in range(len(y_2020)):
    y_middle.append((y_2020[i] + y_2021[i] + y_2022[i]) / 3)

legend_labels = ['2020', '2021', '2022']
y = [y_2020, y_2021, y_2022]
fig = plt.figure(figsize=(8, 6), facecolor='#B0C4DE')
ax = fig.add_subplot(facecolor='white')
# 红橙黄绿青蓝紫
color_list = ['#FF0000', '#FF8C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#800080']
x_loc = np.arange(7)
# x轴上每个刻度上能容纳的柱子的总的宽度设为0.8
total_width = 0.8
# 由y值可以看出x轴每个刻度上一共有3组数据, 也即3个柱子
total_num = 3
# 每个柱子的宽度用each_width表示
each_width = total_width / total_num
if total_num % 2 == 0:
    x1 = x_loc - (total_num / 2 - 1) * each_width - each_width / 2
else:
    x1 = x_loc - ((total_num - 1) / 2) * each_width
x_list = [x1 + each_width * i for i in range(total_num)]
print(x_list)
# 这里颜色设置成 橙色:"#FF8C00"
for i in range(0, len(y)):
    ax.bar(x_list[i], y[i], color=color_list[i], width=each_width, label=legend_labels[i])
# 设置x轴的刻度
ax.set_xticks(x_loc)
# 设置x轴的刻度标签
ax.set_xticklabels(x_labels)
ax.grid(True, ls=':', color='b', alpha=0.3)
ax.set_xlabel('编程语言类别', fontweight='bold')
ax.set_ylabel('编程语言用户量(人数)', fontweight='bold')
plt.title('编程语言用户量数据分析图', fontweight='bold', pad=25)
# 添加双轴
ax_twinx = ax.twinx()
ax_twinx.plot(x_loc, y_middle, linestyle='-', marker='o', markersize=3, color=color_list[1], label='Middle')
fig.legend(loc='upper center', bbox_to_anchor=(0.5, 0.96), frameon=False, ncol=5, handlelength=0.9, handleheight=0.9, fontsize='small')
ax_twinx.set_ylabel('Middle', fontweight='bold')
fig.tight_layout()
fig.subplots_adjust(top=0.9)
plt.show()

1.4 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解


五、图片Legend(图例)的设定和调节

1. 图片Legend(图例)的设定

图片Legend的设定,示例如下:

1.1 plt.legend()那一段代码中详细设置了每一个参数,感兴趣的可以去探索一下每一个参数带来的效果上的差别,代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = False

ClassA_C = [80, 90, 75, 65, 85, 95, 100, 100, 80, 70, 90, 95, 85, 86, 92, 90, 95, 90, 85, 100]
ClassA_M = [70, 90, 95, 85, 75, 85, 90, 100, 100, 85, 90, 95, 98, 99, 85, 88, 86, 75, 78, 90]
ClassA_E = [90, 100, 100, 85, 75, 90, 100, 100, 75, 70, 85, 90, 95, 95, 90, 80, 70, 80, 70, 75]

ClassB_C = [60, 70, 80, 65, 75, 80, 73, 75, 85, 90, 95, 65, 70, 75, 80, 85, 95, 85, 80, 70]
ClassB_M = [60, 70, 75, 80, 75, 75, 65, 80, 60, 80, 90, 95, 95, 90, 80, 85, 75, 75, 60, 65]
ClassB_E = [70, 75, 75, 70, 60, 90, 98, 95, 85, 75, 70, 60, 65, 70, 75, 75, 80, 75, 70, 80]

ClassC_C = [60, 80, 100, 100, 100, 100, 90, 95, 95, 95, 85, 95, 95, 95, 95, 80, 95, 90, 90, 90]
ClassC_M = [100, 100, 100, 95, 95, 95, 95, 95, 90, 85, 90, 90, 90, 95, 90, 95, 95, 95, 95, 90]
ClassC_E = [80, 90, 100, 100, 100, 90, 95, 95, 95, 90, 95, 90, 95, 90, 95, 90, 95, 90, 95, 85]

fig = plt.figure(figsize=(8, 6), facecolor='#B0C4DE')
ax = fig.add_subplot(facecolor='white')

# 每个刻度标签下有几个group就有几个箱子
group_dataA = [ClassA_C, ClassA_M, ClassA_E]

boxplot_dataA_CME = [ClassA_C, ClassA_M, ClassA_E]
boxplot_dataB_CME = [ClassB_C, ClassB_M, ClassB_E]
boxplot_dataC_CME = [ClassC_C, ClassC_M, ClassC_E]

boxplot_dataABC_C = [ClassA_C, ClassB_C, ClassC_C]
boxplot_dataABC_M = [ClassA_M, ClassB_M, ClassC_M]
boxplot_dataABC_E = [ClassA_E, ClassB_E, ClassC_E]

# 橙绿蓝
color_list = ['#FF8C00', '#00FF00', '#0000FF']

x_labels = ['甲班', '乙班', '丙班']
legend_labels = ['语文', '数学', '英语']
length = len(x_labels)
x_loc = np.arange(length)

labels = ['语文', '数学', '英语']

group_number = len(group_dataA)
total_width = 0.6
box_total_width = total_width * 0.65
interval_total_width = total_width * 0.35
box_width = box_total_width / group_number

###################################################
if group_number == 1:
    interval_width = interval_total_width
else:
    interval_width = interval_total_width / (group_number - 1)

###################################################
if group_number % 2 == 0:
    x1_box = x_loc - (group_number / 2 - 1) * box_width - box_width / 2 - (group_number / 2 - 1) * interval_width - interval_width / 2
else:
    x1_box = x_loc - ((group_number - 1) / 2) * box_width - ((group_number - 1) / 2) * interval_width
x_list_box = [x1_box + box_width * i + interval_width * i for i in range(group_number)]

x_list_box_new = []

for i in range(len(group_dataA)):
    for j in range(len(group_dataA)):
        x_list_box_new.append(x_list_box[i][j])
x_list_box_new = sorted(x_list_box_new)

x_list_box_final = []
for i in range(len(group_dataA)):
    x_list_box_final.append(x_list_box_new[3 * i:3 * (i + 1)])

bplot1 = plt.boxplot(boxplot_dataA_CME, positions=x_list_box_final[0], widths=box_width,
                     patch_artist=True, showfliers=False, zorder=1, labels=labels)

for patch, color in zip(bplot1['boxes'], color_list):
    patch.set_edgecolor(color)
    patch.set_facecolor('None')

bplot2 = plt.boxplot(boxplot_dataB_CME, positions=x_list_box_final[1], widths=box_width,
                     patch_artist=True, showfliers=False, zorder=1, labels=labels)

for patch, color in zip(bplot2['boxes'], color_list):
    patch.set_edgecolor(color)
    patch.set_facecolor('None')

bplot3 = plt.boxplot(boxplot_dataC_CME, positions=x_list_box_final[2], widths=box_width,
                     patch_artist=True, showfliers=False, zorder=1, labels=labels)

for patch, color in zip(bplot3['boxes'], color_list):
    patch.set_edgecolor(color)
    patch.set_facecolor('None')

########################################################################
########################################################################
boxplot_data = [boxplot_dataABC_C, boxplot_dataABC_M, boxplot_dataABC_E]

for i in range(len(boxplot_data)):
    # boxplot_data_num用来统计每组数据的长度, 画scatter图时会用到
    boxplot_data_num = []
    for j in boxplot_data[i]:
        boxplot_data_num_tmp = len(j)
        boxplot_data_num.append(boxplot_data_num_tmp)

    spotx = []
    for j_spotx, k_spotx in zip(x_list_box[i], boxplot_data_num):
        spotx_tmp = [j_spotx] * k_spotx
        spotx.append(spotx_tmp)

    ax.scatter(spotx, boxplot_data[i], c=color_list[i], s=30, zorder=2)
########################################################################
########################################################################

ax.grid(True, ls=':', color='b', alpha=0.3)
plt.title('甲乙丙各班语文/数学/英语成绩Box_chart分析', fontweight='bold')
ax.set_xticks(x_loc)
ax.set_xticklabels(x_labels, rotation=90)
ax.set_ylabel('分数/百分制', fontweight='bold')
################################################################################################################
################################################################################################################
plt.legend(handles=bplot1['boxes'], title='学科', loc='center left', bbox_to_anchor=(1.02, 0.5),
           facecolor='None', edgecolor='#000000', frameon=True, ncol=1, markerscale=3, borderaxespad=0,
           handletextpad=0.1, fontsize='x-large', title_fontsize='x-large', labels=legend_labels)
################################################################################################################
################################################################################################################
plt.xticks(weight='bold')
plt.yticks(weight='bold')
fig.tight_layout()
plt.show()

1.2 输出结果如下:

Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解


六、总结

本文主要讲了关于图片的大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等参数设置的方式方法,希望对Python可视化绘图领域感兴趣的有所帮助。文章来源地址https://www.toymoban.com/news/detail-463987.html

到了这里,关于Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python数据可视化库Matplotlib绘图学习(二维)&数学建模

    如果没有出现错误,就说明安装成功。 一元二次函数图像: 运行效果: 解释: as: 重命名,将长串的函数库改一个容易书写的名字 range函数: 生成范围内所有的数字 列表推导式: 列表推导式(List Comprehension)是一种简洁地创建新列表的方法,它可以基于现有的列表、集合

    2024年02月07日
    浏览(31)
  • Python 科研绘图可视化(后处理)Matplotlib - RGBAxes

    科研可视化是将数据和信息转化为可视化形式的过程,旨在通过图形化展示数据和信息,使得科研工作者能够更好地理解和分析数据,并从中发现新的知识和洞见。科研可视化可以应用于各种领域,如生物学、物理学、计算机科学等,帮助科研工作者更好地 理解和解释数据

    2024年02月02日
    浏览(29)
  • 【AI可视化---04】点亮数据之旅:发现Matplotlib的奇幻绘图世界!用Python挥洒数据音符的创意乐章——这四篇就够了!

      晴川历历汉阳树,芳草萋萋鹦鹉洲。 日暮乡关何处是,烟波江上使人愁。     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[3] 阿里云社区特邀专家博主🏅   🏆[4] CSDN-人工智能

    2024年02月15日
    浏览(29)
  • 【Python数据可视化】matplotlib之设置子图:绘制子图、子图共享x轴坐标、调整子图间距、设置图片大小

    文章传送门 Python 数据可视化 matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图 matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值 matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果 matplo

    2024年01月18日
    浏览(45)
  • 【python】数据可视化——matplotlib

    matplotlib 是一个强大的Python绘图库,用于创建高质量的静态、动态和交互式图表。它提供了广泛的绘图选项,适用于数据可视化、科学计算、工程绘图等多个领域。 主要特点: 丰富的图表类型: matplotlib 支持各种常见的图表类型,包括折线图、散点图、柱状图、饼图、箱线图

    2024年02月04日
    浏览(36)
  • 头歌Python实训——matplotlib数据可视化

    任务描述 各省GDP的excel文件如图所示 编写一个程序,计算每年各省GDP信息的和,生成条状图显示 要求窗口大小10,10,图表标题为GDP条状图 相关知识 为了完成本关任务,你需要掌握: 1.数据汇总 2.matplotlib库的使用 3.如何建立条状图 4.设置图表参数 Dataframe数据汇总 dataframe对

    2024年02月03日
    浏览(36)
  • python学习——Matplotlib数据可视化基础

    官方网站:https://matplotlib.org/ 百度前端:https://www.echartsjs.com/zh/index.html plotly:可视化工具:https://plot.ly/python/ matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建 实例1 实例2 子图 实例1 案例2 能够使用plt.hist方法的是那些没有统计过的数

    2024年02月10日
    浏览(27)
  • 基于Python的疫情数据可视化(matplotlib,pyecharts动态地图,大屏可视化)

    有任何学习问题可以加我微信交流哦!bmt1014 1、项目需求分析 1.1背景 2020年,新冠肺炎疫情在全球范围内爆发,给人们的健康和生命带来了严重威胁,不同国家和地区的疫情形势也引起了广泛的关注。疫情数据的监测和分析对疫情防控和科学防治至关重要。本报告以疫情数据

    2024年02月05日
    浏览(36)
  • Matplotlib:Python数据可视化的全面指南

    数据可视化是数据分析的一个重要方面,可以帮助我们有效地传达数据中的洞察和模式。Python提供了几个用于数据可视化的库,其中最突出和广泛使用的是Matplotlib。在本文中,我们将探索Matplotlib的基本概念和功能,并学习如何创建各种类型的图表和图形。 在深入了解Matplo

    2024年02月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包