100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Matplotlib全部基础可视化图形及实现代码(共11种图形)

Matplotlib全部基础可视化图形及实现代码(共11种图形)

时间:2024-03-28 10:54:49

相关推荐

Matplotlib全部基础可视化图形及实现代码(共11种图形)

Matplotlib全部基础可视化图形及实现代码

开始先来一段网络抄袭的的Matplotlib介绍

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表。Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。 是Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

同样再来一段网络抄袭的的Matplotlib应用介绍

Matplotlib 应用

Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

ok,接下来就是正文了

1.折线图

import matplotlib.pyplot as pltimport numpy as npplt.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()

2.柱状图

import matplotlib.pyplot as pltimport numpy as npy = 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 pltimport numpy as npplt.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 pltimport numpy as npplt.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()

5.面积图

import matplotlib.pyplot as pltimport numpy as npran1=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()

6.散点图

import matplotlib.pyplot as pltimport numpy as npplt.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()

7.气泡图(其实就是放大版的散点图)

import matplotlib.pyplot as pltimport numpy as npplt.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()

8.空心饼图

import matplotlib.pyplot as pltimport numpy as npplt.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()

9.箱型图

import matplotlib.pyplot as pltimport numpy as npplt.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()

10.误差棒图

import matplotlib.pyplot as pltimport numpy as npplt.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()

11.雷达图

import matplotlib.pyplot as pltimport numpy as npplt.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种图形。

本博客更新于.4.24日17.24分

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。