一、绘制堆积面积图

1.使用stackplot()绘制堆积面积图

stackplot(x,y labels=(), baseline='zero', data=None, *args, **kwargs)

该函数常用参数的含义如下。

x:表示x轴的数据,可以是一维数组。
y:表示y轴的数据,可以是二维数组或一维数组序列
labels:表示每组折线及填充区域的标签。

例如,使用stackplot()函数绘制由3条折线及下方填充区域堆叠的堆积面积,代码如下:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(6)
y1 = np.array([1,4,3,5,6,7])
y2 = np.array([1,3,4,2,7,6])
y3 = np.array([3,4,3,6,5,5])
    # 绘制堆积面积图\n",
plt.stackplot(x, y1, y2, y3)
plt.title(2020080603052)
plt.show()

运行程序,效果如下图所示:

python 堆叠字符 python堆叠面积图_后端

二、绘制直方图

1.使用hist()绘制直方图
例如:绘制一个具有8个矩形填充的线条直方图,代码额如下

import matplotlib.pyplot as plt
import numpy as np
# 10000 个随机数
random_state = np.random.RandomState(19680801)
random_x = random_state.randn(10000)
# 绘制包含 25个矩形条的直方图
plt.hist(random_x, bins=25)
plt.title(2020080603052)
plt.show()

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_java_02

三、绘制饼图或圆环图

1…使用pie()绘制饼图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
data = np.array([20, 50, 10, 15, 30, 55])
pie_labels = np.array(['A', 'B', 'C', 'D', 'E', 'F'])
# 绘制饼图:半径为 0.5,数值保留1位小数
plt.pie(data, radius=1.5, labels=pie_labels, autopct='%3.1f%%')
plt.title(2020080603052)
plt.show()

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_开发语言_03


2.使用pie()函数绘制一个圆环图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
data = np.array([20, 50, 10, 15, 30, 55])
pie_labels = np.array(['A', 'B', 'C', 'D', 'E', 'F'])
# 绘制圆环图:外圆半径为1.5,楔形宽度为0.7
plt.pie(data, radius=1.5, wedgeprops={'width': 0.7}, labels=pie_labels,
        autopct='%3.1f%%', pctdistance=0.75)
plt.title(2020080603052)
plt.show()

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_开发语言_04

四。绘制散点图或气泡图

1.使用scatter()函数绘制一个散点图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
plt.title(2020080603052)
plt.scatter(x, y)

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_后端_05


2.使用scatter()函数绘制一个气泡图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
area = (30 * np.random.rand(num)) **2
plt.title(2020080603052)
plt.scatter(x, y, s=area)

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_后端_06

五。绘制箱型图

1.使用boxplot()函数绘制一个箱型图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data_2018 = np.array([5200, 5254.5, 5283.4, 5107.8, 5443.3, 5550.6, 
                      6400.2, 6404.9, 5483.1, 5330.2, 5543, 6199.9])
data_2017 = np.array([4605.2, 4710.3, 5168.9, 4767.2, 4947, 5203, 
                      6047.4, 5945.5, 5219.6, 5038.1, 5196.3, 5698.6])
# 绘制箱形图
plt.boxplot([data_2018, data_2017], labels=('2018年', '2017年'),
            meanline=True, widths=0.5, vert=False, patch_artist=True)
plt.title(2020080603052)
plt.show()

运行代码,结果如下:

python 堆叠字符 python堆叠面积图_java_07

六、绘制雷达图

1.使用polar()绘制雷达图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
dim_num = 6
data = np.array([[0.40, 0.32, 0.35, 0.30, 0.30, 0.88],
                 [0.85, 0.35, 0.30, 0.40, 0.40, 0.30],
                 [0.43, 0.89, 0.30, 0.28, 0.22, 0.30],
                 [0.30, 0.25, 0.48, 0.85, 0.45, 0.40],
                 [0.20, 0.38, 0.87, 0.45, 0.32, 0.28],
                 [0.34, 0.31, 0.38, 0.40, 0.92, 0.28]])
angles = np.linspace(0, 2 * np.pi, dim_num, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
data = np.concatenate((data, [data[0]]))
# 维度标签
radar_labels = ['研究型(I)', '艺术型(A)', '社会型(S)', 
                '企业型(E)', '传统型(C)', '现实型(R)']
radar_labels = np.concatenate((radar_labels, [radar_labels[0]]))
# 绘制雷达图
plt.polar(angles, data)
# 设置极坐标的标签
plt.thetagrids(angles * 180/np.pi, labels=radar_labels)
# 填充多边形
plt.fill(angles, data, alpha=0.25)
plt.title(2020080603052)
plt.show()

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_直方图_08

七、绘制误差棒图

1.使用errorbar()绘制误差棒图,代码如下:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(5)
y = (25, 32, 34, 20, 25)
y_offset = (3, 5, 2, 3, 3)
plt.errorbar(x, y, yerr=y_offset, capsize=3, capthick=2)
plt.title(2020080603052)
plt.show()

运行代码,效果如下:

python 堆叠字符 python堆叠面积图_直方图_09


例子:

代码如下:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 准备 x 轴和 y 轴的数据
x = np.arange(3)
y1 = np.array([2.04, 1.57, 1.63])
y2 = np.array([1.69, 1.61, 1.64])
y3 = np.array([4.65, 4.99, 4.94])
y4 = np.array([3.39, 2.33, 4.10])
# 指定测量偏差
error1 = [0.16, 0.08, 0.10]
error2 = [0.27, 0.14, 0.14]
error3 = [0.34, 0.32, 0.29]
error4 = [0.23, 0.23, 0.39]
bar_width = 0.2
# 绘制柱形图
plt.bar(x, y1, bar_width)
plt.bar(x + bar_width, y2, bar_width, align="center",
        tick_label=["春季", "夏季", "秋季"])
plt.bar(x + 2*bar_width, y3, bar_width)
plt.bar(x + 3*bar_width, y4, bar_width)
# 绘制误差棒 : 横杆大小为 3,  线条宽度为 3,  线条颜色为黑色, 数据点标记为像素点
plt.errorbar(x, y1, yerr=error1, capsize=3, elinewidth=2, fmt=' k,')
plt.errorbar(x + bar_width, y2, yerr=error2, capsize=3, elinewidth=2, fmt='k,')
plt.errorbar(x + 2*bar_width, y3, yerr=error3, capsize=3, elinewidth=2, fmt='k,')
plt.errorbar(x + 3*bar_width, y4, yerr=error4, capsize=3, elinewidth=2, fmt='k,')
plt.title(2020080603052)
plt.show()

运行代码,结果如下:

python 堆叠字符 python堆叠面积图_直方图_10