代码速查
按工具分组,做作业时对着抄改即可。
matplotlib 基础
matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams["axes.unicode_minus"] = Falsefig, ax = plt.subplots(figsize=(8,4), dpi=120)
plt.tight_layout()
plt.savefig("x.png", bbox_inches="tight")ax.plot(x, y) # 折线
ax.bar(x, y) # 柱状
ax.scatter(x, y) # 散点
ax.hist(x, bins=30) # 直方图ax.set_title("结论型标题")
ax.set_xlabel("月份"); ax.set_ylabel("销售额(万元)")
ax.grid(axis="y", linestyle="--", alpha=.3); ax.set_axisbelow(True)ax.annotate("峰值", xy=(6,320), xytext=(7,380),
arrowprops=dict(arrowstyle="->"))
ax.legend(frameon=False)fig, axes = plt.subplots(1, 2, figsize=(11,4))
axes[0].bar(...); axes[1].plot(...)pandas 数据准备
df = pd.read_csv("sales.csv")
df.to_excel("out.xlsx", index=False)df.groupby("province", as_index=False)["sales"].sum()
.sort_values("sales", ascending=False)df.isna().sum()
df["sales"] = df["sales"].fillna(df["sales"].median())
df = df.drop_duplicates(subset=["id"])long = df.melt(id_vars=["province"], value_vars=["2024","2025"])
wide = long.pivot_table(index="province", columns="year", values="sales")pd.cut(df["price"], bins=[0,50,100,500,1e9])
df["n"] = (df.sales - df.sales.min()) / (df.sales.max() - df.sales.min())seaborn
sns.boxplot(data=df, x="province", y="sales")
sns.heatmap(pivot, cmap="Blues")
sns.regplot(data=df, x="price", y="qty")plt.style.use("seaborn-v0_8-whitegrid")pyecharts
Bar().add_xaxis(x).add_yaxis("销售额", y).set_global_opts(
title_opts=opts.TitleOpts(title="各省销售额")).render("bar.html")Line().add_xaxis(x).add_yaxis("2024", y1).add_yaxis("2025", y2)ECharts(JS)
const c = echarts.init(document.getElementById("main"));
c.setOption({ title:{text:"标题"}, tooltip:{trigger:"axis"},
xAxis:{type:"category",data:[...]}, yAxis:{type:"value"},
series:[{type:"bar",data:[...]}] });
window.addEventListener("resize",()=>c.resize());series:[{type:"line",smooth:true,data:[...]}]
series:[{type:"pie",radius:["45%","70%"],data:[{value:1,name:"A"}]}]
series:[{type:"bar",stack:"total",data:[...]}]dataZoom:[{type:"inside"},{type:"slider"}]
legend:{top:8}