《Python数据可视化之matplotlib实践》 源码 第三篇 演练 第八章
图 8.1

import matplotlib.pyplot as plt import numpy as np plt.axes([0.05, 0.7, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="--") plt.axes([0.3, 0.4, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(2+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="-") plt.axes([0.55, 0.1, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(4+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle=":") plt.show()
================================================
图 8.2

import matplotlib.pyplot as plt import numpy as np plt.axes([0.05, 0.7, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="--") plt.ylim(0, 1.5) plt.axis("image") plt.axes([0.3, 0.4, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(2+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="-") plt.ylim(0, 1.5) plt.axis([2.1, 3.9, 0.5, 1.9]) plt.axes([0.55, 0.1, 0.3, 0.3], frameon=True, facecolor="y", aspect="equal") plt.plot(4+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle=":") plt.ylim(0, 1.5) plt.axis("off") plt.show()
================================================
图 8.3

import matplotlib.pyplot as plt import numpy as np plt.axis([3, 7, -0.5, 3]) plt.plot(4+np.arange(3), [0, 1, 0], color="blue", linewidth=2, linestyle="-") plt.show()
================================================
图 8.4

import matplotlib.pyplot as plt ax1=plt.subplot(121) ax1.set_xticks(range(0, 251, 50)) plt.grid(True, axis="x") ax2=plt.subplot(122) ax2.set_xticks([]) plt.grid(True, axis="x") plt.show()
================================================
图 8.5

import matplotlib.pyplot as plt ax1=plt.subplot(221) plt.setp(ax1.get_xticklabels(), visible=True) plt.setp(ax1.get_xticklines(), visible=True) plt.grid(True, axis="x") ax2=plt.subplot(222) plt.setp(ax2.get_xticklabels(), visible=True) plt.setp(ax2.get_xticklines(), visible=False) plt.grid(True, axis="x") ax3=plt.subplot(223) plt.setp(ax3.get_xticklabels(), visible=False) plt.setp(ax3.get_xticklines(), visible=True) plt.grid(True, axis="x") ax4=plt.subplot(224) plt.setp(ax4.get_xticklabels(), visible=False) plt.setp(ax4.get_xticklines(), visible=False) plt.grid(True, axis="x") plt.show()
================================================
图 8.6

import matplotlib.pyplot as plt import numpy as np x=np.linspace(0.5, 2*np.pi, 20) y=np.random.randn(20) markerline, stemlines, baseline = plt.stem(x, y) plt.setp(markerline, color="chartreuse", marker="D") plt.setp(stemlines, linestyle="-.") baseline.set_linewidth(2) plt.show()
================================================
图 8.7

import matplotlib.pyplot as plt import numpy as np from calendar import day_name from matplotlib.ticker import FormatStrFormatter fig=plt.figure() ax=fig.add_axes([0.2, 0.2, 0.7, 0.7]) ax.spines["bottom"].set_position(("outward", 10)) ax.spines["left"].set_position(("outward", 10)) ax.spines["top"].set_color("none") ax.spines["right"].set_color("none") x=np.arange(1, 8, 1) y=2*x+1 ax.scatter(x, y, c="orange", s=50, edgecolors="orange") for tickline in ax.xaxis.get_ticklines(): tickline.set_color("blue") tickline.set_markersize(8) tickline.set_markeredgewidth(5) for ticklabel in ax.get_xmajorticklabels(): ticklabel.set_color("slateblue") ticklabel.set_fontsize(15) ticklabel.set_rotation(20) ax.yaxis.set_major_formatter(FormatStrFormatter(r"$\yen%1.1f$")) plt.xticks(x, day_name[0:7], rotation=20) ax.yaxis.set_ticks_position("left") ax.xaxis.set_ticks_position("bottom") for tickline in ax.yaxis.get_ticklines(): tickline.set_color("lightgreen") tickline.set_markersize(8) tickline.set_markeredgewidth(5) for ticklabel in ax.get_ymajorticklabels(): ticklabel.set_color("green") ticklabel.set_fontsize(18) ax.grid(ls=":", lw=1, color="gray", alpha=0.5) plt.show()
================================================
图 8.8

import matplotlib.pyplot as plt import numpy as np x=np.linspace(-2*np.pi, 2*np.pi, 1000) y=np.sin(x) ax1=plt.subplot(221) ax1.spines["right"].set_color("none") ax1.spines["top"].set_color("none") ax1.set_xlim(-2*np.pi, 2*np.pi) ax1.set_ylim(-1.0, 1.0) plt.title(r"$a$") plt.scatter(x, y, marker="+", color="b") ax2=plt.subplot(222) ax2.spines["right"].set_color("none") ax2.spines["top"].set_color("none") ax2.xaxis.set_ticks_position("bottom") ax2.set_xlim(-2*np.pi, 2*np.pi) ax2.set_ylim(-1.0, 1.0) plt.title(r"$b$") plt.scatter(x, y, marker="+", color="b") ax3=plt.subplot(223) ax3.spines["right"].set_color("none") ax3.spines["top"].set_color("none") ax3.yaxis.set_ticks_position("left") ax3.set_xlim(-2*np.pi, 2*np.pi) ax3.set_ylim(-1.0, 1.0) plt.title(r"$c$") plt.scatter(x, y, marker="+", color="b") ax4=plt.subplot(224) ax4.spines["right"].set_color("none") ax4.spines["top"].set_color("none") ax4.xaxis.set_ticks_position("bottom") ax4.yaxis.set_ticks_position("left") ax4.set_xlim(-2*np.pi, 2*np.pi) ax4.set_ylim(-1.0, 1.0) plt.title(r"$d$") plt.scatter(x, y, marker="+", color="b") plt.show()
================================================
图 8.9

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.linspace(-2*np.pi, 2*np.pi, 200) y=np.sin(x) y1=np.cos(x) ax=plt.subplot(111) ax.plot(x, y, ls="-", lw=2, label="$\sin(x)$") ax.plot(x, y1, ls="-", lw=2, label="$\cos(x)$") ax.legend(loc="lower left") plt.title("$\sin(x)$"+"和"+"$\cos(x)$"+"函数") ax.set_xlim(-2*np.pi, 2*np.pi) plt.xticks([-2*np.pi, -3*np.pi/2, -1*np.pi, -1*(np.pi)/2, 0, (np.pi)/2, np.pi, 3*np.pi/2, 2*np.pi], ["$-2\pi$", "$-3\pi/2$", "$-\pi$", "$-\pi/2$", "$0$", "$\pi/2$", "$\pi$", "$3\pi/2$", "$2\pi$"]) ax.spines["right"].set_color("none") ax.spines["top"].set_color("none") ax.spines["bottom"].set_position(("data", 0)) ax.spines["left"].set_position(("data", 0)) ax.xaxis.set_ticks_position("bottom") ax.yaxis.set_ticks_position("left") plt.show()
================================================
posted on 2020-07-05 14:00 Angry_Panda 阅读(479) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现