9.2设置图标大小
import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([1, 4, 9, 16, 7, 11, 23, 18]) sizes = np.array([20,50,100,200,500,1000,60,90]) plt.scatter(x, y, s=sizes) plt.show()
9.3自定义点的颜色
9.4两组散点图
import matplotlib.pyplot as plt import numpy as np x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6]) y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86]) plt.scatter(x, y, color = 'hotpink') x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12]) y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85]) plt.scatter(x, y, color = '#88c999') plt.show()
9.5使用随机数来设置散点图
(此处敲黑板,随机数画图,科研必备,不能说太直白[手动狗头])
import numpy as np import matplotlib.pyplot as plt # 随机数生成器的种子 np.random.seed(19680801) N = 50 x = np.random.rand(N) y = np.random.rand(N) colors = np.random.rand(N) area = (30 * np.random.rand(N))**2 # 0 to 15 point radii plt.scatter(x, y, s=area, c=colors, alpha=0.5) # 设置颜色及透明度 plt.title("RUNOOB Scatter Test") # 设置标题 plt.show()
10.柱形图绘制
10.1 默认参数绘制
我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。
bar() 方法语法格式如下:
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, align='center', data=None, kwargs)
参数说明:
x:浮点型数组,柱形图的 x 轴数据。
height:浮点型数组,柱形图的高度。
width:浮点型数组,柱形图的宽度。
bottom:浮点型数组,底座的 y 坐标,默认 0。
align:柱形图与 x 坐标的对齐方式,‘center’ 以 x 位置为中心,这是默认值。 ‘edge’:将柱形图的左边缘与 x 位置对齐。要对齐右边缘的条形,可以传递负数的宽度值及 align=‘edge’。
kwargs:其他参数。
import matplotlib.pyplot as plt import numpy as np x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"]) y = np.array([12, 22, 6, 18]) plt.bar(x,y) plt.show()
10.2 垂直绘制
垂直方向的柱形图可以使用 barh() 方法来设置:
10.3 自定义各个柱形的颜色
import matplotlib.pyplot as plt import numpy as np x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"]) y = np.array([12, 22, 6, 18]) plt.bar(x, y, color = ["#4CAF50","red","hotpink","#556B2F"]) plt.show()
10.4柱形图宽度
import matplotlib.pyplot as plt import numpy as np x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"]) y = np.array([12, 22, 6, 18]) plt.bar(x, y, width = 0.1) plt.show()
11.饼图
11.1 默认参数绘制
我们可以使用 pyplot 中的 pie() 方法来绘制饼图。
pie() 方法语法格式如下:
matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)
参数说明:
x:浮点型数组,表示每个扇形的面积。
explode:数组,表示各个扇形之间的间隔,默认值为0。
labels:列表,各个扇形的标签,默认值为 None。
colors:数组,表示各个扇形的颜色,默认值为 None。
autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。
labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。
pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。
shadow::布尔值 True 或 False,设置饼图的阴影,默认为 False,不设置阴影。
radius::设置饼图的半径,默认为 1。
startangle::起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。
counterclock:布尔值,设置指针方向,默认为 True,即逆时针,False 为顺时针。
wedgeprops :字典类型,默认值 None。参数字典传递给 wedge 对象用来画一个饼图。例如:wedgeprops={‘linewidth’:5} 设置 wedge 线宽为5。
textprops :字典类型,默认值为:None。传递给 text 对象的字典参数,用于设置标签(labels)和比例文字的格式。
center :浮点类型的列表,默认值:(0,0)。用于设置图标中心位置。
frame :布尔类型,默认值:False。如果是 True,绘制带有表的轴框架。
rotatelabels :布尔类型,默认为 False。如果为 True,旋转每个 label 到指定的角度。
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) plt.pie(y) plt.show()
11.2设置饼图各个扇形的标签与颜色
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) plt.pie(y, labels=['A','B','C','D'], # 设置饼图标签 colors=["#d5695d", "#5d8ca8", "#65a479", "#a564c9"], # 设置饼图颜色 ) plt.title("RUNOOB Pie Test") # 设置标题 plt.show()
11.3突出显示第二个扇形,并格式化输出百分比
import matplotlib.pyplot as plt import numpy as np y = np.array([35, 25, 25, 15]) plt.pie(y, labels=['A','B','C','D'], # 设置饼图标签 colors=["#d5695d", "#5d8ca8", "#65a479", "#a564c9"], # 设置饼图颜色 explode=(0, 0.2, 0, 0), # 第二部分突出显示,值越大,距离中心越远 autopct='%.2f%%', # 格式化输出百分比 ) plt.title("RUNOOB Pie Test") plt.show()