python绘图matplotlib——使用记录1

本博文来自于网络收集,如有侵权请联系删除

使用matplotlib绘图

  • [1 常用函数汇总](#1 常用函数汇总)
    • [1.1 plot](#1.1 plot)
    • [1.2 legend](#1.2 legend)
    • [1.3 scatter](#1.3 scatter)
    • [1.4 xlim](#1.4 xlim)
    • [1.5 xlabel](#1.5 xlabel)
    • [1.6 grid](#1.6 grid)
    • [1.7 axhline](#1.7 axhline)
    • [1.7 axvspan](#1.7 axvspan)
    • [1.8 annotate](#1.8 annotate)
    • [1.9 text](#1.9 text)
    • [1.10 title](#1.10 title)
  • [2 常见图形绘制](#2 常见图形绘制)
    • [2.1 bar------柱状图](#2.1 bar——柱状图)
    • [2.2 barh------条形图](#2.2 barh——条形图)
    • [2.3 hist------直方图](#2.3 hist——直方图)
    • 阶梯型直方图
    • [2.4 pie------饼图](#2.4 pie——饼图)
    • [2.5 polar------极线图](#2.5 polar——极线图)
    • [2.6 scatter------气泡图](#2.6 scatter——气泡图)
    • [2.7 stem------棉棒图](#2.7 stem——棉棒图)
    • [2.8 boxplot------箱线图](#2.8 boxplot——箱线图)
    • [2.9 errorbar------误差棒图](#2.9 errorbar——误差棒图)
  • [3 常用统计图](#3 常用统计图)
    • [3.1 堆积柱状图](#3.1 堆积柱状图)
    • [3.2 堆积条形图](#3.2 堆积条形图)
    • [3.3 并列柱状图](#3.3 并列柱状图)
    • [3.4 并列条形图](#3.4 并列条形图)
    • [3.5 堆积折线图](#3.5 堆积折线图)
    • [3.6 间断条形图](#3.6 间断条形图)
    • [3.7 阶梯图](#3.7 阶梯图)

matplotlib的具体用法 官网的介绍是最全的,此处只针对平时常用的绘图进行了记录

1 常用函数汇总

1.1 plot

reference:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html

函数:plt.plot(x, y, c='r', marker='o', ls='-', lw=1, ms=1, label='line1')

参数:

  • x: x轴上的数值
  • y: y轴上的数值
  • marker:点的形状
  • c: color, 颜色
  • ls: Line Styles,如,'-','--','-.',':'
  • lw: linewidth,线条宽度
  • label: 标记图形内容的标签文本

注,plt.plot(x, y, 'r^:', lw=1, ms=5, label='line1')

点的颜色、形状、线型通常写在一起,如

label需要与plt.legend配合使用,

1.2 legend

reference:https://matplotlib.org/stable/api/legend_api.html

函数:plt.legend(loc='best')

参数:

  • loc:图例在途中的位置,如,'upper right', 'lower left', ''upper center''等

代码示例

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, marker='o', ls='-', c='r', lw=1, ms=1, label='line1')
# plt.plot(x, y, 'r^:', lw=1, ms=5, label='line1')
plt.legend(loc='best')
plt.show()

1.3 scatter

函数:plt.scatter(x, y, c='b', label='scatter1')

参数:

  • x: x轴上的数值
  • y: y轴上的数值
  • c:颜色
  • label: 标记图形内容的标签文本
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 50)
y = np.sin(x)
y2 = np.cos(x)

plt.scatter(x, y, c='b', label='scatter1')
plt.scatter(x, y2, c='r', label='scatter1')
plt.legend()
plt.show()

1.4 xlim

函数:plt.xlim(xmin, xmax)

参数:

  • xmin: x轴上的最小值
  • ymin: x轴上的最大值
  • 平移性:plt.ylim(ymin, ymax)

1.5 xlabel

函数:plt.xlabel(string)

参数:

  • string: 标签文本内容
  • 平移性:plt.ylabel(string)

1.6 grid

函数:plt.grid(linestyle=':', color="r)

参数:

  • linestyle: 网格线的线条风格
  • color: 网格线的线条颜色

1.7 axhline

绘制平行与x轴的水平参考线

函数:plt.axhline(y=0, c='b', ls='--', lw=2)

参数:

  • y: 水平参考线的出发点
  • c: 参考线的线条颜色
  • ls: 参考线的线条风格
  • lw: 参考线的线条宽度
  • 平移性: plt.axvline(), 绘制平行与y轴的参考线

1.7 axvspan

绘制垂直于x轴的参考区域。

函数:plt.axvspan(xmin=1, xmax=2, facecolor='y', alpha=0.3)

参数:

  • xmin: 参考区域的起始位置。
  • ymin: 参考区域的终止位置。
  • facecolor: 参看区域的填充颜色。
  • alpha: 参考区域的填充颜色的透明度。
  • 平移性: axhspan()
python 复制代码
import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-.', c="c", label="sin(x)")

plt.legend()

plt.axvspan(xmin=4.0, xmax=6.0, facecolor="y", alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor="y", alpha=0.3)

plt.show()

1.8 annotate

添加图形内容细节的指向型注释文本。

函数:plt.annotate("maximum", xy=(np.pi / 2, 1), xytext=((np.pi / 2) + 1, .8), weight="bold", color='b', arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="b"))

参数:

  • string: 图形内容的注释文本。
  • xy: 被注释图形内容的位置坐标。
  • xytext: 注释文本的位置坐标。
  • weight: 注释文本的字体粗细风格。
  • color: 注释文本的字体颜色。
  • arrowprops: 指示被注释内容的箭头的属性字典。
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls="-.", lw=2, c="g", label='sin(x)')
plt.legend()

plt.annotate("maximum", xy=(np.pi / 2, 1), xytext=((np.pi / 2) + 1, .8), weight="bold", color='black',
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="r"))

plt.show()

1.9 text

添加图形内容细节的无指向型注释文本

函数:plt.text(4, 0.1, "y=sin(x)", weight="bold", color="b")

参数:

  • x: 注释文本内容所在位置的横坐标
  • y: 注释文本内容所在位置的纵坐标
  • string: 注释文本内容
  • weight: 注释文本内容的粗细风格
  • color: 注释文本内容的字体颜色
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-.', lw=2, c="c", label="sin(x)")

plt.legend()
plt.text(4, 0.1, "y=sin(x)", weight="bold", color="b")
plt.show()

1.10 title

添加图形内容的标题

函数:plt.title(string)

参数:

  • string: 图形内容的标题文本

2 常见图形绘制

2.1 bar------柱状图

函数:plt.bar(x, y, align="center", color="c", tick_label=x_label, hatch="/")

参数:

  • x: 柱状图中的柱体标签值。
  • y: 柱状图中的柱体高度。
  • align: 柱体对齐方式
  • color: 柱体颜色
  • tick_label: 刻度标签值
  • alpha: 柱体的透明度
  • hatch: 柱体的填充样式,如"/", "\", "|", "-"等,符号字符串的符号数量越多,柱体的几何图形的密集程度就越高。
python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import np

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

x = [i for i in range(0, 10, 1)]
y = np.random.randint(1, 20, size=10)

x_label = [chr(i) for i in range(97, 97+10, 1)]
plt.bar(x, y, align="center", color="c", tick_label=x_label, hatch="/")

plt.xlabel("x")
plt.ylabel("y")
plt.show()

2.2 barh------条形图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import np

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

x = [i for i in range(0, 10, 1)]
y = np.random.randint(1, 20, size=10)

x_label = [chr(i) for i in range(97, 97+10, 1)]
plt.barh(x, y, align="center", color="c", tick_label=x_label, hatch="/")

plt.xlabel("x")
plt.ylabel("y")
plt.show()

2.3 hist------直方图

直方图是用来展现连续型数据分布特征的统计图形,利用直方图可直观地分析出数据的集中趋势和波动情况。

函数:plt.hist(x)

参数:

  • x: 连续型数据输入值
  • bins: 用于确定柱体的个数或是柱体边缘范围
  • color: 柱体的颜色
  • histtype: 柱体类型
  • label: 图例内容
  • rwidth: 柱体宽度
python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import np

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

x = np.random.randint(0, 10, 100)
y = range(0, 6, 1)

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

plt.xlabel("x")
plt.ylabel("y")
plt.show()

除最后一个柱体的数据范围是闭区间,其它柱体的数据范围都是左闭右开区间。

总结,柱状图与直方图的区别:

直方图描述的是连续型数据的分布,柱状图描述的是离散型数据分布;柱状图的柱体之间有空隙,直方图的柱体之间无空隙。

堆积直方图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import np

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

x1 = np.random.randint(0, 10, 100)
x2 = np.random.randint(0, 10, 100)
y = range(0, 10, 1)

plt.hist([x1, x2], bins=y, color=['c', 'y'], histtype="bar", rwidth=1, stacked=True, alpha=0.6)

plt.xlabel("x")
plt.ylabel("y")
plt.show()

阶梯型直方图

将hist()的histtype改为stepfilled即可绘制阶梯型直方图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import np

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

x1 = np.random.randint(0, 10, 100)
x2 = np.random.randint(0, 10, 100)
y = range(0, 10, 1)
labels = ['a', 'b']
plt.hist([x1, x2], bins=y, color=['c', 'y'], histtype="stepfilled", rwidth=1, stacked=True, label=labels)

plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

2.4 pie------饼图

绘制不同类型数据的百分比,通过饼图可以清楚地观察数据的占比情况。

函数:plt.pie(soldNums, explode=explode, labels=kinds, autopct="%3.1f%%", startangle=45, shadow=True, colors=colors)

参数:

  • soldNums: 相当于x,并不是参数名称,要绘制的百分比列表
  • explode:饼片边缘偏离半径的百分比
  • labels: 标记每份饼片的文本标签内容
  • autopct: 饼片文本标签内容对应的数值百分比样式
  • startangle: 从x轴作为起始位置,第一个饼片逆时针旋转的角度
  • shadow: 是否绘制饼片的阴影
  • colors: 饼片的颜色
  • 其它参数,pctdistance: 百分比数值的显示位置,以半径长度比例值作为显示位置依据
  • 其它参数,labeldistance: 标签值的显示位置,以半径长度比例值作为显示位置依据

示例1

python 复制代码
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

kinds = "a", "b", "c", "d"
soldNums = [0.3, 0.2, 0.4, 0.1]
colors = ['g', 'r', 'b', 'black']
plt.pie(soldNums, labels=kinds, autopct="%3.2f%%", startangle=60, colors=colors)

plt.title("不同类型占比")
plt.show()

示例2

python 复制代码
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

kinds = "a", "b", "c", "d"
soldNums = [0.3, 0.2, 0.4, 0.1]
colors = ['g', 'r', 'b', 'black']
explode = (0.1, 0.1, 0.1, 0.1)
plt.pie(soldNums, explode=explode, labels=kinds, autopct="%3.1f%%", startangle=45, shadow=True, colors=colors)

plt.title("不同类型占比")
plt.show()

内嵌环饼形图

将饼图嵌套,可观察多组数据的比例分布

python 复制代码
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

kinds = ["a", "b", "c", "d"]
weight1 = [0.3, 0.2, 0.4, 0.1]
weight2 = [0.2, 0.25, 0.35, 0.2]
colors = ['g', 'r', 'b', 'black']
outer_colors = colors
inner_colors = colors
wedges1, texts1, autotexts1 = plt.pie(weight1, autopct="%3.1f%%", radius=1, pctdistance=0.85, colors=outer_colors, textprops=dict(color="w"),
        wedgeprops=dict(width=0.3, edgecolor="w"))
wedges2, texts2, autotexts2 = plt.pie(weight2, autopct="%3.1f%%", radius=0.65, pctdistance=0.7, colors=inner_colors, textprops=dict(color="w"),
        wedgeprops=dict(width=0.3, edgecolor="w"))
plt.legend(wedges1, kinds, fontsize=12, title="比例", loc="best", bbox_to_anchor=(0.6, 0, 0.4, 1))
plt.setp(autotexts1, size=12, weight="bold")
plt.setp(autotexts2, size=12, weight="bold")
plt.setp(texts1, size=12)
plt.title("不同类型占比")
plt.show()

2.5 polar------极线图

在极坐标轴上绘制折线图

函数:plt.plot(theta, r)

参数:

  • theta: 每个标记所在射线与极径的夹角。
  • r: 每个标记到原点的距离。
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

barSlices = 12

theta = np.linspace(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()

2.6 scatter------气泡图

二维数据借助气泡大小展示三维数据

函数:plt.scatter(x, y)

参数:

  • x: x轴上的数值。
  • y: y轴上的数值。
  • c: 散点标记的颜色。
  • cmap: 将浮点数映射成颜色的颜色映射表。
python 复制代码
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

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

plt.scatter(a, b, s=np.power(10*a+20*b, 2), c=np.random.rand(50), cmap=mpl.cm.RdYlBu, marker="o")
plt.show()

2.7 stem------棉棒图

绘制离散有序数据

函数: plt.stem(x, y)

参数:

  • x: 指定棉棒的x轴基线上的位置
  • y: 绘制棉棒的长度
  • linefmt: 棉棒的样式
  • markerfmt : 棉棒末端的样式
  • basefmt: 指定基线的样式
python 复制代码
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()

2.8 boxplot------箱线图

箱线图是由一个箱体和一对箱须所组成的统计图形。箱体是由第一四分位数、中位数(第二四分位数)和第三分位数所组成的。在箱须的末端之外的数值可以理解为离群值。箱须是对一组数据范围的大致直观描述。

示例1

  • x: 绘制箱线图的输入数据
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.random.randn(100)

plt.boxplot(x)

plt.xticks([1], ["x"])
plt.ylabel("y")

plt.grid(axis="y", ls=":", lw=1, color="black", alpha=0.5)
plt.show()

示例2

函数:bplot = plt.boxplot(testList, whis=whis, widths=width, sym="o", labels=labels, patch_artist=True)

参数:

  • testList: 绘制箱线图的输入数据
  • whis: 四分位间距的倍数,用来确定箱须包含数据的范围大小
  • widths: 设置箱体的宽度
  • sym: 离群值的标记样式
  • labels: 每一个数据集的刻度标签
  • patch_artist: 是否给箱体添加颜色
python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False	# 显示负数

testA = np.random.randn(1000)
testB = np.random.randn(1000)

testList = [testA, testB]
labels = ["A", "B"]
colors = ["y", "g"]

whis = 1.6
width = 0.35

bplot = plt.boxplot(testList, whis=whis, widths=width, sym="o", labels=labels, patch_artist=True)
for patch, color in zip(bplot["boxes"], colors):
    patch.set_facecolor(color)

plt.ylabel("随机数值")
plt.grid(axis="y", ls=":", lw=1, color="gray", alpha=0.4)
plt.show()

2.9 errorbar------误差棒图

绘制y轴方向或是x轴方向的误差范围

函数:

  • x: 数据点的水平位置
  • y: 数据点的垂直位置
  • yerr: y轴方向的数据点的误差计算方法
  • xerr: x轴方向的数据点的误差计算方法
python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1, 1, 10)
y = np.exp(x)

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

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

3 常用统计图

3.1 堆积柱状图

令函数bar中的参数bottom=y可输出堆积柱状图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt

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

x = [i for i in range(5)]
y = [i for i in range(5)]
y1 = [1 for i in range(5)]

plt.bar(x, y, align="center", color="c", tick_label=["a", "b", "c", "d", "e"], label='y')
plt.bar(x, y1, align="center", bottom=y, color="g", tick_label=["a", "b", "c", "d", "e"], label='y1')

plt.xlabel("x")
plt.ylabel("y")
plt.legend()

plt.show()

3.2 堆积条形图

令函数bar中的参数left=y可输出堆积柱状图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt

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

x = [i for i in range(5)]
y = [i for i in range(5)]
y1 = [1 for i in range(5)]

plt.barh(x, y, align="center", color="c", tick_label=["a", "b", "c", "d", "e"], label='y')
plt.barh(x, y1, align="center", left=y, color="g", tick_label=["a", "b", "c", "d", "e"], label='y1')

plt.xlabel("x")
plt.ylabel("y")
plt.legend()

plt.show()

3.3 并列柱状图

并列柱状图的只是单个柱状图的叠加而已,仅需注意叠加的柱状图的x的起始位置。

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

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

x = np.arange(5)
y = [i for i in range(5)]
y1 = [1 for i in range(5)]

bar_width = 0.35
tick_label = ["a", "b", "c", "d", "e"]

plt.bar(x, y, bar_width, align="center", color="c",  label='y', alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, align="center", color="g", label='y1', alpha=0.5)

plt.xlabel("x")
plt.ylabel("y")
plt.legend()

plt.show()

3.4 并列条形图

python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

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

x = np.arange(5)
y = [i for i in range(5)]
y1 = [1 for i in range(5)]

bar_width = 0.35
tick_label = ["a", "b", "c", "d", "e"]

plt.barh(x, y, bar_width, align="center", color="c",  label='y', alpha=0.5)
plt.barh(x+bar_width, y1, bar_width, align="center", color="g", label='y1', alpha=0.5)

plt.xlabel("x")
plt.ylabel("y")
plt.legend()

plt.show()

3.5 堆积折线图

堆积折线图是通过绘制不同数据集的折线图而产生的。堆积折线图是按照垂直方向上彼此堆叠且又不相互覆盖的排列顺序,绘制若干条折线图而形成的组合图形。

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1, 5, 1)
y = [i for i in range(4)]
y1 = [1 for i in range(4)]
y2 = [2, 3, 1, 4]

labels = ['y', 'y1', 'y2']
colors = ['b', 'g', 'c', 'yellow']

plt.stackplot(x, y, y1, y2, labels=labels, colors=colors)
plt.legend(loc="best")

plt.show()

3.6 间断条形图

复制代码
间断条形图是在条形图的基础上绘制而成的,主要用来可视化定向数据的相同指标在时间维度上的指标值的变化情况,实现定性数据的相同指标的变化情况的有效直观比较。
python 复制代码
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

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

plt.broken_barh([(10, 15), (35, 20), (60, 5)], (12, 8), facecolors="yellow")
plt.broken_barh([(5, 10), (20, 2), (28, 6), (40, 3)], (2, 8), facecolors=("r", 'b', 'g', 'c'))

plt.xlim(0, 70)
plt.ylim(0, 20)
plt.xlabel("播放时间")

plt.xticks(np.arange(0, 70, 10))
plt.yticks([16, 6], ["公益性广告", "食品类广告"])
plt.grid(ls=":", lw=1, color="gray")
plt.title("不同广告的播放时长")

plt.show()

(10, 15)表示从起点是x轴的数值为10的位置起,沿x轴正方向移动15个单位。

(12, 8)表示从起点是y轴的数值为10的位置起,沿y轴正方向移动8个单位,即柱体的高度和垂直起始位置。

3.7 阶梯图

阶梯图常用中时间序列数据的可视化任务中,表示时序数据的波动周期和规律

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(1, 7, 7)
y = np.sin(x)

plt.step(x, y, color="r", where="pre", lw=2)
plt.xlim(0, 8)
plt.xticks(np.arange(1,7,1))
plt.ylim(-1.1, 1.1)

plt.show()

where的取值"pre", 表示x轴上的每个数据点对应的y轴上的数值向左侧绘制水平线直x轴上的此数据点的左侧相邻数据点为止,取值是按照左开右闭区间进行数据点选取的。除"pre"外也可取值"post", 表示在x轴上的相邻数据点的取值是按照左闭右开区间进行数据点选取的。

相关推荐
数据智能老司机18 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机19 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i19 小时前
drf初步梳理
python·django
每日AI新事件19 小时前
python的异步函数
python
这里有鱼汤20 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook1 天前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室1 天前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三1 天前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试