文章目录

  • 前言
  • 一、图片大小的设定和调节
    • 1. 三种调整matplotlib图片大小的方法
      • 1.1 plt.figure(figsize=(n, n))
        • 1.1.1 代码如下:
        • 1.1.2 输出结果如下:
        • 1.1.3 代码如下:
        • 1.1.4 输出结果如下:
      • 1.2 plt.rcParams['figure.figsize']=(n, n)
        • 1.2.1 代码如下:
        • 1.2.2 输出结果如下:
        • 1.2.3 代码如下:
        • 1.2.4 输出结果如下:
      • 1.3 样式表+plt.style.use('xxx.mpstyle')
        • 1.3.1 新建文件,文件名为xxx.mpstyle,例如style.mpstyle。编辑文件内容:
        • 1.3.2 在Python文件中:
  • 二、图片颜色的设定和调节
    • 1. 图片颜色的设定
      • 1.1 设置画布颜色为"#B0C4DE",轴域颜色为"white",则代码如下:
      • 1.2 输出结果如下:
      • 1.3 设置画布颜色为"#FF8C00",轴域颜色为"white",则代码如下:
      • 1.4 输出结果如下:
  • 三、图片标题的设定和调节
    • 1. 图片标题的设定
      • 1.1 方式一,面向对象,利用fig=plt.figure(), ax=fig.add_subplot(), ax.set_title(), 代码如下:
      • 1.2 输出结果如下:
      • 1.3 方式二,直接方式,利用plt.title(), 代码如下:
      • 1.4 输出结果如下:
  • 四、图片纵横坐标的设定和调节
    • 1. 图片纵横坐标的设定
      • 1.1 刻度,这里我们通过设置x轴的刻度进行说明,代码如下:
      • 1.2 输出结果如下:
      • 1.3 刻度标签,这里我们通过设置x轴的刻度标签进行说明,代码如下:
      • 1.4 输出结果如下:
  • 五、图片Legend(图例)的设定和调节
    • 1. 图片Legend(图例)的设定
      • 1.1 plt.legend()那一段代码中详细设置了每一个参数,感兴趣的可以去探索一下每一个参数带来的效果上的差别,代码如下:
      • 1.2 输出结果如下:
  • 六、总结

前言

前面五期的文章详细讲述了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'] = Falseplt.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 输出结果如下:


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

1.1.3 代码如下:

import matplotlib.pyplot as plt# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = Falseplt.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 输出结果如下:


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'] = Falsefig1 = 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 输出结果如下:

由结果可以看出,两张图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'] = Falsefig1 = 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 输出结果如下:

由结果可以看出,两张图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'] = Falsefig1 = 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 输出结果如下:

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'] = Falsefig1 = 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 输出结果如下:


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

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'] = Falsefig1 = 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 输出结果如下:

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'] = Falsefig1 = 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 输出结果如下:

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

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'] = Falsex_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 输出结果如下:

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

import matplotlib.pyplot as plt
import numpy as np# 设置字体, 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决图像中的'-'负号的乱码问题
plt.rcParams['axes.unicode_minus'] = Falsex_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 输出结果如下:


五、图片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'] = FalseClassA_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_spotxspotx.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 输出结果如下:


六、总结

本文主要讲了关于图片的大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等参数设置的方式方法,希望对Python可视化绘图领域感兴趣的有所帮助。

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

  1. Python+matplotlib数据可视化鼠标悬停自动标注功能实现

    功能描述:根据已有数据绘制图形之后,鼠标进入轴内自动设置背景色,退出轴时自动恢复背景色,若鼠标移动时悬停于曲线附近,则自动弹出文本标注提示当前值. 参考代码: 运行效果(鼠标位于轴外时): 运行效果( ...

  2. python matplotlib数据可视化教程_matplotlib的Python数据可视化和探索——入门指南

    matplotlib--最受欢迎的Python库,用于数据可视化和探索 我喜欢在Python中使用matplotlib.这是我学会掌握的第一个可视化库,此后一直存在.matplotlib是最受欢迎的用 ...

  3. Python+matplotlib数据可视化设置图例3个精选案例

    本周推荐书目:<Python程序设计实验指导书>,董付国编著,清华大学出版社 本书详情链接二维码(清华大学出版社天猫官方旗舰店): 送书活动在继续,下周送第五批,详情链接:<Pyth ...

  4. Python matplotlib数据可视化 subplot绘制多个子图

    数据可视化的时候,有时需要将多个子图放在同一个画板上进行比较.通过使用GridSpec类配合subplot,可以很容易对子区域进行划定和选择,在同一个画板上绘制多个子图. 原文链接:https://y ...

  5. python matplotlib数据可视化教程_Python使用matplotlib实现数据可视化教程

    目前有很多 工具 都可以数实现据可视化,比如我们常用的Excel,还有数据科学另一门重要的语言R,以及百度的Echarts等可视化工具.今天我们的主角是 Python 中的matplotlib库(官网 ...

  6. python matplotlib数据可视化_Python - matplotlib 数据可视化

    2  图和子图的建立 2.1  导入matplotlib import matplotlib.pyplot as plt import numpy as np 2.2  建立图和子图方式一 plt.p ...

  7. python—matplotlib数据可视化实例注解系列-----之plot图线型设置

    本文代码源自官方实例,部分进行了修改和注解,增加不同线型的显示实例,帮助学习和查询. """ ====================================== ...

  8. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门

    1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...

  9. matplotlib 数据可视化

    图的基本结构 通常,使用 numpy 组织数据, 使用 matplotlib API 进行数据图像绘制. 一幅数据图基本上包括如下结构: Data: 数据区,包括数据点.描绘形状 Axis: 坐标轴, ...

最新文章

  1. 3.Java集合-HashSet实现原理及源码分析
  2. 物体三维识别论文介绍——基于霍夫投票
  3. 南洋理工大学研发植物“通信”设备,未来可成为环境探测器
  4. 网站SEO优化中该如何解决网站改版问题?
  5. 批处理***与注册表
  6. 微信消息类型和事件类型
  7. pandas删除满足条件的行_入门Pandas练习
  8. 快速获取青年大学习完成截图
  9. c语言中static变量
  10. 计算机页面设置代码,计算机二级考试Access辅导:页面设置模块代码分享
  11. (解决)can't connect to redis-server
  12. linux下C调用lua的第一个程序
  13. Android开发笔记(一百三十九)可定制可滑动的标签栏
  14. 大话IT第13期:2011年云计算市场年中盘点
  15. 理解RAID的四种级别
  16. python按行拆分表格_Pandas进阶之DataFrame行列拆分
  17. mac使用Java命令运行Java程序
  18. 网线传输速度测试_「网络速度测试」网络速度测试 - seo实验室
  19. php导入word文件怎么打开,phpword 导入word
  20. SSD与HDD如何混合组raid并永久挂载硬盘?

热门文章

  1. 问道手游安卓服务器维护公告,问道手游安卓服务器6月7日4时维护公告
  2. 【H3C V7路由器实战视频课程系列-5】可靠性功能配置与管理-王达-专题视频课程...
  3. keras训练模型,训练集的准确率很高,但是测试集准确率很低的原因
  4. 山东省计算机专科排名2015,山东专科大学前十名有哪些?山东所有专科大学排名榜单...
  5. RFO SIG:openEuler AWS AMI 制作详解
  6. 停止词(stop words)
  7. 香港数金基建区块链论坛(五):如何鼓励香港金融科技生态的发展
  8. c语言:#和##的区别及作用
  9. npm报错error code EPERM, error syscall unlink,errno -4048解决
  10. UG二次开发BOM功能GRIP系统初始设置