开始先来一段网络抄袭的的Matplotlib介绍
- Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
- Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
- Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
- Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。 是Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
同样再来一段网络抄袭的的Matplotlib应用介绍
- Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
- SciPy 是一个开源的 Python 算法库和数学工具包。
- SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
ok,接下来就是正文了
1.折线图
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
x = np.arange(1, 11, 1)
y_ticks = np.arange(0, 101, 10)
y = np.random.randint(1, 100, size=(10))
y_2 = np.random.randint(1, 100, size=(10))
plt.plot(x, y, label="最高标准")
plt.plot(x, y_2, label="最低标准", color="r")
plt.xticks(x)
plt.yticks(y_ticks)
plt.ylim(0, 110)
plt.xlim(0, 11)
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("折线图")
plt.text(1, 10, "解释说明")
plt.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
y = np.arange(10, 101, 10)
x = np.arange(1, 11)
label = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.figure(figsize=(16, 9), dpi=80)
plt.bar(x, y, width=0.5, label="完成量", color="#ed5736")
plt.xticks(np.arange(1, 11, 1), label)
plt.title("测试", fontsize=50)
plt.text(1, 10, "10%", weight="bold", color="b", fontsize=20, ha="center", va="bottom")
plt.text(2, 20, "20%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(3, 30, "30%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(4, 40, "40%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(5, 50, "50%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(6, 60, "60%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(7, 70, "70%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(8, 80, "80%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(9, 90, "90%", weight="bold", color="r", fontsize=20, verticalalignment='bottom', horizontalalignment="center")
plt.text(10, 100, "100%", weight="bold", color="r", fontsize=20, verticalalignment='bottom',
horizontalalignment="center")
plt.annotate("未达标平均线", xy=(1, 80), arrowprops=dict(arrowstyle="<->"), fontsize=20, xytext=(1, 60))
plt.ylim(0, 120)
plt.xlim(0, 11)
plt.axhline(80, linestyle="--", color="r", label="80%水平线", )
plt.xlabel("x轴", fontsize=24)
plt.ylabel("y轴", fontsize=24)
plt.legend(loc="upper left", fontsize=20)
plt.grid( axis="y", )
plt.show()
3.直方图
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
x=np.random.randint(0,100,100)
y=np.arange(0,100,10)
plt.hist(x,y)
plt.show()
4.堆积条形图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体
y = np.arange(5)
x = np.array([16, 8, 22, 44, 36])
y1 = np.arange(0,5,1)
x1 = np.arange(0,101,20)
xerr = np.array(5)
error =[1,2,3,4,5]
name = np.array(["电影一","电影二","电影三","电影四","电影五"])
plt.barh(y, x,height=0.3,label= "动作电影票房",color="#ed5736")
plt.barh(y, x,height=0.3,label= "喜剧电影票房",color="k",xerr=error,left=x)
plt.yticks(y1, name)
plt.xticks(x1)
plt.xlim(0,100)
plt.xlabel("总票房")
plt.ylabel("电影名称")
plt.title("电影票房总收入")
plt.axvline(30,0,1,color="r",label="平均线",linestyle=":")
plt.grid(axis="x", label="网格线")
plt.axhspan(ymin=2.6, ymax=3.4,alpha=0.3)
plt.axvspan(xmin=40, xmax=46,alpha=0.3)
plt.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
ran1=np.random.randint(1,20,size=10)
ran2=np.random.randint(1,30,size=10)
ran3=np.random.randint(1,20,size=10)
x= np.arange(0,10,1)
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.stackplot(x,ran1,)
plt.stackplot(x,ran2,)
plt.stackplot(x,ran3,)
plt.xlim(0,10)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体
x = np.arange(0,100,10)
area=np.random.randint(50,300,10)
y=np.random.randint(1,100,10)
plt.scatter(x,y,c="r",s=area)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体
x = np.arange(0,100,10)
y=np.random.randint(1,100,10)
plt.scatter(x,y,c="y",s=700)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
data=np.random.randint(1,50,8)
print(data)
labels=np.array(["a","b","c","d","e","f","g","h"])
plt.pie(data,autopct="%3.1f%%",radius=1,pctdistance=1.2,wedgeprops={"width":0.8})
plt.legend(labels)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
data=np.random.randn(100)
plt.boxplot(data,meanline=True,widths=0.1,showfliers=False,patch_artist=True)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
x =np.arange(5)
y= (25,32,34,20,25)
y_offest=(3,5,2,3,3)
plt.errorbar(x,y,yerr=y_offest,capsize=5,capthick=5)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(16, 9), dpi=80)
plt.rcParams["font.sans-serif"] = ["SimHei"]
data =np.random.rand(6,6)
# rradar_labels=["研究型(I)","艺术性(A)","社会性(S)","企业性(E)","传统性(C)","现实性(R)"]
# radar_labels= np.concatenate((radar_labels,[radar_labels[0]]))
anghles=np.linspace(0,2*np.pi,6,endpoint=False)
anghles = np.concatenate((anghles,[anghles[0]]))
data=np.concatenate((data,[data[0]]))
plt.polar(anghles,data)
plt.thetagrids((anghles*180/np.pi))
plt.fill(anghles,data,alpha=0.25)
plt.show()
以上就是所有的Matplotlib基本图形,高级图形不在此展示,总共11种图形。
本博客更新于2022.4.24日17.24分