人工智能数据分析Python常用库 04 matplotlib库

news2025/1/21 12:00:47

文章目录

  • 一、matplotlib库的作用与环境配置
    • 1、环境配置示例
    • 2、改变绘图风格
    • 3、保存图片
  • 二、绘制二维图形
    • 1、折线图
      • (1)示例
      • (2)调整线条颜色:
      • (3)调整线条风格
      • (4)调整线宽
      • (5)调整数据点标记
      • (6)颜色和风格设置的简写
      • (7)调整坐标轴
      • (8)设置图形标签
      • (9)设置图例
      • (10)添加文字和箭头
    • 2、散点图
      • (1)示例
      • (2)颜色设置
      • (3)根据数据控制点的大小
      • (4)透明度
    • 3、柱形图
      • (1)简单柱形图
      • (2)累加柱形图
      • (3)并列柱形图
      • (4)横向柱形图
    • 4、多子图
      • (1)简单多子图
      • (2)多行多列子图
      • (3)不规则多子图
    • 5、直方图
      • (1)普通频次直方图
      • (2)概率密度
      • (3)累计概率分布
      • (4)例:模拟两个骰子
    • 6、误差图
      • (1)基本误差图
      • (2)柱形图误差图
  • 三、面相对象的风格简介
    • 1、普通图
    • 2、画中画
    • 3、多子图
  • 四、三维图形简介
    • 1、三维数据点与线
    • 2、三维数据曲面图

一、matplotlib库的作用与环境配置

matplotlib库是数据分析中,数据可视化的一个重要工具。

1、环境配置示例

import matplotlib.pyplot as plt

x = [1,2,3,4]
y = [1,4,9,16]

plt.plot(x,y)   # 绘制折线图
plt.ylabel("squares")   # 设置y轴标签
plt.show()  # 显示图片

2、改变绘图风格

print(plt.style.available[:])   # 显示可用的绘图风格

with plt.style.context("seaborn-white"):    # 临时改变绘图风格
    plt.show()
import matplotlib.pyplot as plt
plt.style.use("seaborn-white")  # 永久改变绘图风格

x = [1,2,3,4]
y = [1,4,9,16]

plt.plot(x,y)   # 绘制折线图
plt.ylabel("squares")   # 设置y轴标签
plt.show()  # 显示图片

3、保存图片

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,100)
plt.plot(x,np.exp(x))

plt.savefig("myfigure.png") # 保存图片

二、绘制二维图形

1、折线图

(1)示例

import matplotlib.pyplot as plt
import numpy as np
plt.style.use("seaborn-white")

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))   # 绘制正弦曲线
plt.plot(x,np.cos(x))   # 绘制余弦曲线

plt.show()

在这里插入图片描述

(2)调整线条颜色:

import matplotlib.pyplot as plt
import numpy as np
plt.style.use("seaborn-white")

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))   # 绘制正弦曲线

offsets = np.linspace(0,np.pi,5)
colors = ["blue","g","r","yellow","pink"]

for offset,color in zip(offsets,colors):
    plt.plot(x,np.sin(x-offset),color=color) # 关键字color可缩写为c

plt.show()

在这里插入图片描述

(3)调整线条风格

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,11)
offsets = list(range(8))
linestyles = ["solid","dashed","dashdot","dotted","-","--","-.",":"]
for offset,linestyle in zip(offsets,linestyles):
    plt.plot(x,x+offset,linestyle=linestyle)    # linestyle可缩写为ls

plt.show()

在这里插入图片描述

(4)调整线宽

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,11)
offsets = range(0,12,3)
linewidths = (i*2 for i in range(1,5))
for offset,linewidth in zip(offsets,linewidths):
    plt.plot(x,x+offset,linewidth=linewidth)    # linewidth可缩写为lw

plt.show()

在这里插入图片描述

(5)调整数据点标记

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,11)
offsets = range(0,12,3)
markers = ["*","+","o","s"]
for offset,marker in zip(offsets,markers):
    plt.plot(x,x+offset,marker=marker,markersize=10)    # markersize可缩写为ms

plt.show()

在这里插入图片描述

(6)颜色和风格设置的简写

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,11)
offsets = range(0,8,2)
color_linestyles = ["g-","c--","k-.","r:"]
for offset,color_linestyle in zip(offsets,color_linestyles):
    plt.plot(x,x+offset,color_linestyle)

plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,11)
offsets = range(0,8,2)
cmls = ["g*-","b+--","ko-.","rs:"]
for offset,cml in zip(offsets,cmls):
    plt.plot(x,x+offset,cml)

plt.show()

在这里插入图片描述
其他用法及颜色缩写、数据点标记缩写等,请查看官方文档,如下:
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html

(7)调整坐标轴

x轴、y轴的边界

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.xlim(-1,7)
plt.ylim(-1.5,1.5)
plt.show()
x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.axis([-2,8,-2,2])   #设置x轴的边界为-2到8,y轴为-2到2
plt.show()
x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.axis("tight")  
plt.show()
x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.axis("equal")
plt.show()

help(plt.axis) 可以查询 plt.axis() 中还可以设置哪些字符串参数。

对数坐标

import matplotlib.pyplot as plt
import numpy as np
import math
x = np.logspace(0,5,6)  #10**0到10**5的等比数列,取6个数


plt.plot(x,np.log(x),marker="o") # np.log(x)表示以e为底,求x的对数
plt.xscale("log")   # 表示x轴的刻度设置为对数刻度
plt.show()

在这里插入图片描述
调整坐标轴刻度

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,100)
plt.plot(x,x**2)
plt.xticks(np.arange(0,12,step=1),fontsize=15)
plt.yticks(np.arange(0,100,step=10))

plt.show()

在这里插入图片描述
调整刻度样式

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,100)
plt.plot(x,x**2)
plt.tick_params(axis="both",labelsize=15)

plt.show()

在这里插入图片描述

(8)设置图形标签

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
plt.title("A Sine Curve",fontsize=20)
plt.xlabel("x",fontsize=15)
plt.ylabel("sin(x)",fontsize=15)

plt.show()

在这里插入图片描述

(9)设置图例

默认:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x),"b-",label="Sin")
plt.plot(x,np.cos(x),"r--",label="Cos")
plt.legend()
plt.show()

在这里插入图片描述
修饰图例:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x),"b-",label="Sin")
plt.plot(x,np.cos(x),"r--",label="Cos")
plt.legend(loc="upper center",frameon=False,fontsize=15)
#loc supported values are 'best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'
plt.ylim(-1.5,2)
plt.show()

在这里插入图片描述

(10)添加文字和箭头

添加文字

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x),"b-")
plt.text(3.5,0.5,"y=sin(x)",fontsize=15) # 3.5,0.5为文字所在坐标
plt.show()

在这里插入图片描述
添加箭头

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x),"b-")
plt.annotate("local min",xy=(1.5*np.pi,-1),xytext=(4.5,0),arrowprops=dict(facecolor="black",shrink=0.1))
# xy=(1.5*np.pi,-1) 指定了箭头指向的点的坐标。xytext=(4.5,0) 指定了注释文本的位置。arrowprops=dict(facecolor="black",shrink=0.1) 则设置了箭头的样式,包括颜色和箭头的缩放。
plt.show()

在这里插入图片描述

2、散点图

(1)示例

x = np.linspace(0,2*np.pi,20)
plt.scatter(x,np.sin(x),marker="s",s=30,c="r")  # s:大小 c:颜色

plt.show()

在这里插入图片描述

(2)颜色设置

x = np.linspace(0, 10, 10)
y = x ** 2
plt.scatter(x, y, c=y, cmap="Blues")
# c=y:散点的颜色根据y值的大小而变化
plt.colorbar()
plt.show()

在这里插入图片描述
颜色配置参考官方文档:
https://matplotlib.org/2.0.2/examples/color/colormaps_reference.html

(3)根据数据控制点的大小

x,y,colors,size = (np.random.rand(100) for i in range(4))
plt.scatter(x,y,c=colors,s=1000*size,cmap="viridis")

plt.colorbar()
plt.show()

在这里插入图片描述

(4)透明度

x,y,colors,size = (np.random.rand(100) for i in range(4))
plt.scatter(x,y,c=colors,s=1000*size,cmap="viridis",alpha=0.3)

plt.colorbar()
plt.show()

在这里插入图片描述

3、柱形图

(1)简单柱形图

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(1,6)
plt.bar(x,2*x,align="center",width=0.5,alpha=0.5,color="yellow",edgecolor="red")
plt.xticks(x,("G1","G2","G3","G4","G5"))
plt.tick_params(axis="both",labelsize=13)

plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt

x = ["G"+str(i) for i in range(5)]
y = 1/(1+np.exp(-np.arange(5)))
colors = ["red","yellow","blue","green","gray"]
plt.bar(x,y,align="center",width=0.5,alpha=0.5,color=colors)
plt.tick_params(axis="both",labelsize=13)

plt.show()

在这里插入图片描述

(2)累加柱形图

import numpy as np
import matplotlib.pyplot as plt

x= np.arange(5)
y1 = np.random.randint(20,30,size=5)
y2 = np.random.randint(20,30,size=5)
plt.bar(x,y1,width=0.5,label="man")
plt.bar(x,y2,width=0.5,bottom=y1,label="woman")
plt.legend()
plt.show()

在这里插入图片描述

(3)并列柱形图

import numpy as np
import matplotlib.pyplot as plt

x= np.arange(15)
y1 = x+1
y2 = y1+np.random.random(15)
plt.bar(x,y1,width=0.3,label="man")
plt.bar(x+0.3,y2,width=0.3,label="woman")
plt.legend()
plt.show()

在这里插入图片描述

(4)横向柱形图

import numpy as np
import matplotlib.pyplot as plt

x = ["G"+str(i) for i in range(1,6)]
y = 2 * np.arange(1,6)
plt.barh(x,y,align="center",height=0.5,alpha=0.8,color="blue",edgecolor="red")
plt.tick_params(axis="both",labelsize=13)
plt.show()

在这里插入图片描述

4、多子图

(1)简单多子图

import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

t1 = np.arange(0.0,5.0,0.1)
t2 = np.arange(0.0,5.0,0.2)

plt.subplot(211)    # 总共2行1列子图网格,当前选中第1个子图
plt.plot(t1,f(t1),"bo-",markerfacecolor="r",markersize=5)
plt.title("A tale of 2 subplots")
plt.ylabel("Damped oscillation")

plt.subplot(212)    # 总共2行1列子图网格,当前选中第2个子图
plt.plot(t2,np.cos(2*np.pi*t2),"r--")
plt.xlabel("time(s)")
plt.ylabel("Undamped")

plt.show()

在这里插入图片描述

(2)多行多列子图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.random(10)
y = np.random.random(10)

plt.subplots_adjust(hspace=0.5,wspace=0.3)  # 调整子图之间的水平和垂直间距

plt.subplot(321)
plt.scatter(x,y,s=80,c="b",marker=">")

plt.subplot(322)
plt.scatter(x,y,s=80,c="g",marker="*")

plt.subplot(323)
plt.scatter(x,y,s=80,c="r",marker="s")

plt.subplot(324)
plt.scatter(x,y,s=80,c="c",marker="p")

plt.subplot(325)
plt.scatter(x,y,s=80,c="m",marker="+")

plt.subplot(326)
plt.scatter(x,y,s=80,c="y",marker="H")

plt.show()

在这里插入图片描述

(3)不规则多子图

import matplotlib.pyplot as plt
import numpy as np


def f(x):
    return np.exp(-x) * np.cos(2*np.pi*x)

x = np.arange(0.0, 3.0, 0.01)
grid = plt.GridSpec(2, 3, wspace=0.4, hspace=0.3)

plt.subplot(grid[0, 0])
plt.plot(x, f(x))

plt.subplot(grid[0, 1:])
plt.plot(x, f(x), "r--", lw=2)

plt.subplot(grid[1, :])
plt.plot(x, f(x), "g-", lw=3)
plt.show()

在这里插入图片描述

5、直方图

(1)普通频次直方图

import matplotlib.pyplot as plt
import numpy as np


mu, sigma = 100,15
x = mu + sigma * np.random.randn(1000)

plt.hist(x, bins=50, facecolor="g", alpha=0.75)

plt.show()

在这里插入图片描述

(2)概率密度

import matplotlib.pyplot as plt
import numpy as np

mu, sigma = 100,15
x = mu + sigma * np.random.randn(1000)

plt.hist(x, 50, density=True, color="r")
plt.xlabel("Smarts")
plt.ylabel("Probability")
plt.title("Histogram of IQ")
plt.text(60, .025, r"$\mu=100,\ \sigma=15$")
plt.xlim(40, 160)
plt.ylim(0, 0.03)

plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

mu, sigma = 100,15
x = mu + sigma * np.random.randn(1000)

plt.hist(x, 50, density=True, color="r", histtype="step")
plt.xlabel("Smarts")
plt.ylabel("Probability")
plt.title("Histogram of IQ")
plt.text(60, .025, r"$\mu=100,\ \sigma=15$")
plt.xlim(40, 160)
plt.ylim(0, 0.03)

plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm

mu, sigma = 100,15
x = mu + sigma * np.random.randn(10000)

_, bins, __=plt.hist(x, 50, density=True)
y = norm.pdf(bins, mu, sigma)
plt.plot(bins, y, "r--", lw=3)
plt.xlabel("Smarts")
plt.ylabel("Probability")
plt.title("Histogram of IQ")
plt.text(60, .025, r"$\mu=100,\ \sigma=15$")
plt.xlim(40, 160)
plt.ylim(0, 0.03)

plt.show()

在这里插入图片描述

(3)累计概率分布

import matplotlib.pyplot as plt
import numpy as np

mu, sigma = 100,15
x = mu + sigma * np.random.randn(10000)

plt.hist(x, 50, density=True, cumulative=True, color="r")

plt.xlabel("Smarts")
plt.ylabel("Probability")
plt.title("Histogram of IQ")
plt.text(60, 0.8, r"$\mu=100,\ \sigma=15$")
plt.xlim(50, 165)
plt.ylim(0, 1.1)

plt.show()

在这里插入图片描述

(4)例:模拟两个骰子

import matplotlib.pyplot as plt
import numpy as np

class Die():
    "模拟一个骰子的类"

    def __init__(self, num_sides=6):
        self.num_sides = num_sides

    def roll(self):
        return np.random.randint(1, self.num_sides+1)

# 重复投一个骰子
die = Die()
results = []
for i in range(60000):
    result = die.roll()
    results.append(result)

plt.hist(results, bins=6, range=(0.75, 6.75), align="mid", width=0.5)
plt.xlim(0, 7)

plt.show()

在这里插入图片描述

# 重复投两个骰子
die1 = Die()
die2 = Die()
results = []
for i in range(60000):
    result = die1.roll() + die2.roll()
    results.append(result)

plt.hist(results, bins=11, range=(1.75, 12.75), align="mid", width=0.5)
plt.xlim(0, 13)
plt.xticks(np.arange(1, 14))

plt.show()

在这里插入图片描述

# 重复投两个骰子
die1 = Die()
die2 = Die()
results = []
for i in range(60000):
    result = die1.roll() + die2.roll()
    results.append(result)

plt.hist(results, bins=11, range=(1.75, 12.75), density=True, align="mid", width=0.5)
plt.xlim(0, 13)
plt.xticks(np.arange(1, 14))

plt.show()

在这里插入图片描述

6、误差图

(1)基本误差图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 50)
dy = 0.5
y = np.sin(x) + dy*np.random.randn(50)

plt.errorbar(x, y, yerr=dy, fmt="+b")

plt.show()

在这里插入图片描述

(2)柱形图误差图

import matplotlib.pyplot as plt
import numpy as np

menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)
ind = ["G1", "G2", "G3", "G4", "G5"]
width = 0.35

p1 = plt.bar(ind, menMeans, width=width, label="Men", yerr=menStd)
p2 = plt.bar(ind, womenMeans, width=width, bottom=menMeans, label="Women", yerr=womenStd)

plt.ylabel("Scores")
plt.title("Scores by group and gender")
plt.yticks(np.arange(0, 81, 10))
plt.legend()
plt.show()

在这里插入图片描述

三、面相对象的风格简介

1、普通图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 10)
y = x ** 2

fig = plt.figure(figsize=(8,4), dpi=80)	# 设置画布对象
axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])	# 设置轴 [left,bottom,width,height]与画布的比例
axes.plot(x, y, "r")
axes.set_xlabel("x")
axes.set_ylabel("y")
axes.set_title("title")
plt.show()

在这里插入图片描述

2、画中画

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 10)
y = x ** 2

fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax2 = fig.add_axes([0.2, 0.5, 0.4, 0.3])

ax1.plot(x, y, "r")

ax1.set_xlabel("x")
ax1.set_ylabel("y")
ax1.set_title("title")

ax2.plot(y, x, "g")
ax2.set_xlabel("y")
ax2.set_ylabel("x")
ax2.set_title("insert title")

plt.savefig("1.png")
plt.show()

在这里插入图片描述

3、多子图

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

t1 = np.arange(0.0, 3.0, 0.01)

fig = plt.figure()
fig.subplots_adjust(hspace=0.4, wspace=0.4)

ax1 = plt.subplot(2, 2, 1)
ax1.plot(t1, f(t1))
ax1.set_title("Upper left")

ax2 = plt.subplot(2, 2, 2)
ax2.plot(t1, f(t1))
ax2.set_title("Upper right")

ax3 = plt.subplot(2, 1, 2)
ax3.plot(t1, f(t1))
ax3.set_title("Lower")

plt.savefig("1.png")
plt.show()

在这里插入图片描述

四、三维图形简介

1、三维数据点与线

import matplotlib.pyplot as plt
import numpy as np

ax = plt.axes(projection="3d")
zline = np.linspace(0, 15, 1000)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline, yline, zline)

zdata = 15*np.random.random(100)
xdata = np.sin(zdata)
ydata = np.cos(zdata)

ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap="spring")

plt.savefig("1.png")
plt.show()

在这里插入图片描述

2、三维数据曲面图

import matplotlib.pyplot as plt
import numpy as np

def f(x, y):
    return np.sin(np.sqrt(x**2 + y**2))

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

ax = plt.axes(projection="3d")
ax.plot_surface(X, Y, Z, cmap="viridis")

plt.savefig("1.png")
plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1571561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

非关系型数据库------------Redis的安装和部署

目录 一、关系型数据库与非关系型数据库 1.1关系型数据库 1.2非关系型数据库 1.2.1非关系型数据库产生背景 1.3关系型非关系型区别 1.4客户访问时,关系型数据库与redis的工作过程 二、Redis 2.1redis简介 2.2Redis命中机制和淘汰机制 2.3Redis 具有以下优…

解决VScode中matplotlib图像中文显示问题

一、更改配置文件 参考这个文件路径找到自己Python环境下的matplotlibrc文件并用记事本打开。 用ctrl F寻找下面的这两行并将前面的#删除,保存并退出。 font.family: sans-serif font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, N…

Nature正刊重磅!热带雨林正接近临界温度阈值:气候变化可能会使热带森林太热而无法进行光合作用

2023年8月23日,美国北亚利桑那大学生态信息学Doughty, Christopher E. 副教授及其研究组人员在国际知名学术期刊《Nature》发表了一项题为“Tropical forests are approaching critical temperature thresholds”的研究。提出了热带雨林正接近临界温度阈值的新见解。…

Hadoop-入门

资料来源:尚硅谷-Hadoop 一、Hadoop 概述 1.1 Hadoop 是什么 1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2)主要解决:海量数据的存储和海量数据的分析计算问题。 3)广义上来说,Hadoop…

状态优先级

文章目录 状态优先级1. 进程状态1.1 进程状态查看1.2 僵尸进程1.3 孤儿进程 2.进程优先级2.1 基本概念2.2 查看系统进程2.3 PRI and NI2.4 PRI vs NI 3. 查看进程优先级的命令3.1 top命令更改nice3.2 其他概念 状态优先级 1. 进程状态 看看Linux内核源代码怎么说 为了弄明白…

2024.4.3-[作业记录]-day08-CSS 盒子模型(溢出显示、伪元素)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.3-学习笔记css溢出显示单行文本溢出显示省略号多行文本溢出显示省…

每天五分钟深度学习:深度学习中数据样本和标签的符号化表示

本文重点 在深度学习的研究与应用中,数据样本和标签的符号化表示是至关重要的一环。通过合理的符号化表示,我们可以将现实世界中的数据转化为计算机能够理解和处理的形式,从而为后续的模型训练和推理提供基础。本文将对深度学习中数据样本和…

Github 2024-04-05Java开源项目日报Top9

根据Github Trendings的统计,今日(2024-04-05统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9TypeScript项目1OpenAPI 生成器:基于规范自动生成API工具 创建周期:2155 天开发语言:Java协议类型:Apache License 2.0Star数量:1…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--初尝php

初尝php 打开你下载的wordpress文件夹&#xff0c;如果你用的xampp那它就在xampp安装的文件夹–htdocs文件夹–你可以新建一个test文件夹–新建一个test.php文件 <html><head><title>First attempt at PHP</title></head><body><?ph…

深入浅出 -- 系统架构之分布式系统底层的一致性

在分布式领域里&#xff0c;一致性成为了炙手可热的名词&#xff0c;缓存、数据库、消息中间件、文件系统、业务系统……&#xff0c;各类分布式场景中都有它的身影&#xff0c;因此&#xff0c;想要更好的理解分布式系统&#xff0c;必须要理解“一致性”这个概念。 其实关于…

4.双向循环链表的模拟实现

1.双向链表的实现 1.1双向链表节点的结构声明 typedef int LTDataType;typedef struct ListNode {struct ListNode* prev; // 指向该节点的前一个节点struct ListNode* next; // 指向该节点的后一个节点LTDataType data; // 该节点中存储的数据 }LTNode; // 将这…

QT-QPainter

QT-QPainter 1.QPainter画图  1.1 概述  1.1 QPainter设置  1.2 QPainter画线  1.3 QPainter画矩形  1.4 QPainter画圆  1.5 QPainter画圆弧  1.6 QPainter画扇形 2.QGradient  2.1 QLinearGradient线性渐变  2.2 QRadialGradient径向渐变  2.3 QConicalGr…

关于怎么在github上查看到历史版本信息

最近在跟着教程实践&#xff0c;会不断往项目里写内容&#xff0c;想保留每次实践的效果&#xff0c;所以每次完成后&#xff0c;会commit并push到github中&#xff0c;下面说明一下怎么查看历史版本二信息。 以我的这篇仓库为例&#xff08;SpringCloudDemo&#xff09; 步骤…

linux使用supervisor部署springboot

supervisor 美&#xff1a;[suːpərvaɪzər ] n.监督人;主管人;指导者; Supervisor是一个进程控制系统工具&#xff0c;用于在Linux系统上管理和监控其他进程。它可以启动、停止、重启和监控应用程序或服务&#xff0c;并在其异常退出时自动重启它们。Supervisor通过提供一个…

Python深度学习车辆特征分析系统(V2.0),附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;回溯 回溯三部曲。这里比较关键的是给board做标记&#xff0c;防止之后搜索时重复访问。解题思路二&#xff1a;回溯算法 dfs,直接看代码,很容易理解。visited哈希&#xff0c;防止…

vscode+anaconda 环境python环境

环境说明&#xff1a; windows 10 vscodeanaconda anaconda 安装&#xff1a; 1、官网下载地址:Free Download | Anaconda 2、安装 接受协议&#xff0c;选择安装位置&#xff0c;一直next&#xff0c;到下面这一步&#xff0c;上面是将Anaconda 添加至环境变量&#xff0…

备战蓝桥杯---线段树应用2

来几个不那么模板的题&#xff1a; 对于删除&#xff0c;我们只要给那个元素附上不可能的值即可&#xff0c;关键问题是怎么处理序号变化的问题。 事实上&#xff0c;当我们知道每一个区间有几个元素&#xff0c;我们就可以确定出它的位置&#xff0c;因此我们可以再维护一下前…

Spark-Scala语言实战(13)

在之前的文章中&#xff0c;我们学习了如何在spark中使用键值对中的keys和values,reduceByKey,groupByKey三种方法。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢…

EdenAI

文章目录 关于 EdenAI功能说明提供的模型Eden AI PlatformIntegrations 和以下平台集成 Python 调用 API异步功能 关于 EdenAI Eden AI 用户界面&#xff08;UI&#xff09;专为处理人工智能项目而设计。 通过 Eden AI Portal&#xff0c;您可以使用市场上最好的引擎 执行无代…