《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()
================================================
《Python数据可视化之matplotlib实践》 源码 第三篇 演练 第八章的更多相关文章
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- python 数据可视化(matplotlib)
matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- Python数据可视化之Matplotlib实现各种图表
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...
- 机器学习-数据可视化神器matplotlib学习之路(三)
之前学习了一些通用的画图方法和技巧,这次就学一下其它各种不同类型的图.好了先从散点图开始,上代码: from matplotlib import pyplot as plt import numpy ...
- Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
Pyplot matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib.pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布.在 ...
- Python数据可视化库-Matplotlib(二)
我们接着上次的继续讲解,先讲一个概念,叫子图的概念. 我们先看一下这段代码 import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.a ...
- Python数据可视化之matplotlib
常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...
- python数据可视化(matplotlib)
- python数据可视化-matplotlib入门(7)-从网络加载数据及数据可视化的小总结
除了从文件加载数据,另一个数据源是互联网,互联网每天产生各种不同的数据,可以用各种各样的方式从互联网加载数据. 一.了解 Web API Web 应用编程接口(API)自动请求网站的特定信息,再对这些 ...
随机推荐
- 对pta的总结_1
前言 这三次pta难度在不断上升的同时,要求我们线上慕课+自主学习来了解更多的java中的各种方法,如:正则表达式 List Map等.与此同时要求我们展开尝试并熟练类的构造,类的引用,链表的基本运用 ...
- CSPJ赛前刷题
T1 \(\color{red}\text{正难则反}\),最短路 T2 图论(糅杂着一点DP) T3 DP 优化:减去不需要的状态 T4 一定要写注释!!! 不开longlong见祖宗!!! T5 ...
- 任意树遍历,可以使用 goto 跳记号标注的
先顺序进入到最后一个根的根部,完后扫描同级 同级扫描完用 goto跳代码改层数到倒数地二层 之后操作就是倒着往上搜索的,有难度,但是还是能做到的嘛 用 lisit 好像不需要别的,全用 list 连接 ...
- EF EntityFramework 强制从数据库中取数据,而不是上下文
场景:插入了一条数据到数据库,这条数据会有其它程序修改,接着程序想获取最新数据.此时不加额外处理,取的仍是旧的. t_task ta = new t_task(); ta.item_id = item ...
- 手把手教你免费用Flashduty做消息通知
为什么需要消息通知? 如果有重要的情况发生,希望能通过各种媒介通知我们.可以举几个例子: 家里燃气费没有了,希望能有短信或者app通知 api频繁500报错,希望及时感知,及时修复 公司网站是http ...
- mysql 8.0 客户端
1.mysql 8.0 command line client 2.mysql workbench
- Netty(三)Netty模型
1. Netty模型 Netty主要基于主从Reactor多线程模型做了一定的改进,其中主从Reactor多线程模型有多个Reactor. 简版图: 说明: BossGroup线程维护Selector ...
- 开源一个RAG大模型本地知识库问答机器人
弹指间,2009年大学毕业到现在2024年,已经15年过去了. 前2天,看到自己14年在博客园写的一个博客,哪个时候是工作之余创业 感兴趣的朋友可以看看我10年前发的一篇博客https://www.c ...
- 配置 Nginx + PHP(FastCGI/FPM)
有关概念 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器. Php-fpm是什么 1.c ...
- 洛谷P1063
[NOIP2006 提高组] 能量项链 题目描述 在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链.在项链上有 \(N\) 颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着 ...