可视化整理2---matplotlib绘制简答常用图形的主要函数

概要

以下为整理的常见的9种图形的主要函数 及其 代码图例.

具体有如下:

柱状图,条形图,直方图,

饼图,极线图(雷达图),气泡图,

棉棒图,箱线图,误差棒图.

一.函数 bar()---柱状图

函数功能:在x轴上绘制定性数据的分布特征
plt.bar(x,y)

相关参数:
x:标示在x轴上的定性数据的类别;
y:每种定性数据的类别的数量;

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"] = ['simhei']#中文可显示
mpl.rcParams["axes.unicode_minus"] = False

x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]

plt.bar(x,y,align = "center",color = "c",tick_label = ["q","a","c","e","r","j","b","p"],hatch = "/")

plt.xlabel("箱子编号")
plt.ylabel("箱子重量(kg)")

plt.show()

二.函数 barh()---条形图

函数功能:在y轴上绘制定性数据的分布特征
plt.barh(x,y)

相关参数:
x:标示在y轴上的定性数据的类别;
y:每种定性数据的类别的数量;
 


import matplotlib as  mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"] = ["simhei"]
mpl.rcParams["axes.unicode_minus"] = False

x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]

plt.barh(x,y,align = "center",color = "c",tick_label = ["q","a","c","e","r","j","b","p"],hatch = "/")



plt.xlabel("箱子重量(kg)")
plt.ylabel("箱子编号")

plt.show()

三.函数 hist()---直方图

函数功能:在x轴上绘制定量数据的分布特征
plt.hist(x)

相关参数:
x:在x轴上绘制箱体的定量数据输入值;

import matplotlib as mpl

mpl.rcParams["font.sans-serif"] = ["simhei"]
mpl.rcParams["axes.unicode_minus"] = False

import matplotlib.pyplot as plt 
import numpy  as np

boxWeight = np.random.randint(0,10,100)

x = boxWeight

bins = range(0,11,1)


plt.hist(x,bins = bins,color = "g",histtype = "bar",rwidth = 1,alpha = 0.6)

plt.xlabel("箱子重量(kg)")
plt.ylabel("销售数量(个)")

#设置x,y轴的栅格
plt.grid(True ,ls = ":",color = "b")

plt.show()

四.函数 pie()---饼图

函数功能:绘制定性数据的不同类别的百分比
plt.pie(x)

相关参数:
x:定性数据的不同类别的百分比;



import matplotlib as  mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"] = ["simhei"]
mpl.rcParams["axes.unicode_minus"] = False



kinds = "简易箱","保温箱","行李箱","密封箱" #元组 tuple 型字符
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"] #红蓝绿紫
soldNums = [0.05,0.45,0.15,0.35]


#饼图
plt.pie(soldNums,
        labels = kinds, #饼图标签 元组表示
        autopct = "%3.1f%%",
        startangle = 60,
        #饼图自定义颜色
        colors = colors)

plt.title("不同类型箱子的销售数量占比")

plt.show()

五.函数 polar()---极线图(雷达图)

函数功能:在极坐标轴上绘制折线图
plt.polar(theta,r)

相关参数:
theta:每个标记所在射线与极径的夹角
r:每个标记到原点的距离

import matplotlib.pyplot as plt
import numpy as np
barSlices = 12

theta = np.linspace(0.0,2*np.pi,barSlices,endpoint = False)

r = 30 * np.random.rand(barSlices)

plt.polar(theta,r,
         color = "chartreuse",
         linewidth = 2,
         marker = "*",
         mfc = "b",
         ms = 10)

plt.show()

六.函数 scatter()---气泡图

函数功能:二维数据借助气泡大小展示三维数据
plt.scatter(x,y)

相关参数:
x:x轴上的数值;
y:y轴上的数值;
s:散点标记的大小;
c:散点标记的颜色;
cmap:将浮点数映射成颜色的颜色映射表

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as  np

a = np.random.randn(100)
b = np.random.randn(100)

plt.scatter(a,b,
            s = np.power(10*a+20*b,2),#平方 二次幂
            c = np.random.rand(100),
            cmap = mpl.cm.RdYlBu,#将浮点数映射成颜色的颜色映射表
            marker = "o")

plt.show()

七.函数 stem()---棉棒图

函数功能:绘制离散有序数据
plt.stem(x,y) 

相关参数:
x:指定棉棒的x轴基线上的位置;
y:绘制棉棒的长度;
linefmt:棉棒的样式;
markerfmt:棉棒末端的样式;
basefmt:指定基线的样式;

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.5,2*np.pi,20)
y = np.random.randn(20)

plt.stem(x,y,linefmt = '-.',markerfmt = "o",basefmt = "-")

plt.show()

八.函数 boxplot()---箱线图

函数功能:在x轴绘制定量数据的分布特征
plt.boxplot(x)

相关参数:
x:绘制箱线图的输入数据;

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np 

mpl.rcParams["font.sans-serif"] = ["fangsong"]
mpl.rcParams["axes.unicode_minus"] = False


x = np.random.randn(1000)

plt.boxplot(x)

plt.xticks([1],["随机生成器AlphaRM"])
plt.ylabel("随机数值")
plt.title("随机数生成器抗干扰能力的稳定性")

plt.grid(axis = "y",ls = ":",lw = 1,color = "gray",alpha = 0.4)

plt.show()

九.函数 errorbar()---误差棒图

函数功能:绘制y轴/x轴方向的误差范围
plt.errorbar(x,y,yerr = a,xerr = b)

相关参数:
x:数据点的水平位置;
y:数据点的垂直位置;
yerr:y轴方向的数据点的误差计算方法;
xerr:x轴方向的数据点的误差计算方法;

import matplotlib as mpl
import matplotlib.pyplot as  plt
import numpy as np

x = np.linspace(0.1,0.6,6)#array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6])
y = np.exp(x)#array([1.10517092, 1.22140276, 1.34985881, 1.4918247 , 1.64872127,1.8221188 ])  指数函数np.exp()

plt.errorbar(x,y,fmt = "bo:",yerr = 0.2,xerr = 0.02)

plt.xlim(0,0.7)
plt.show()

附录

个人总结笔记经供参考,如有不足后续会继续添改,我们一起共同学习进步,都看到最后了麻烦点个赞再走,谢谢⭐