《Python数据可视化之matplotlib实践》 源码 第三篇 演练 第九章
图 9.1
import matplotlib.pyplot as plt
import numpy as np fig=plt.figure()
ax=fig.add_subplot(111) font={"family":"monospace", "color":"maroon", "weight":"bold", "size":6} x=np.linspace(0.0, 2*np.pi, 500)
y=np.cos(x)*np.sin(x) ax.plot(x, y, color="k", ls="-", lw=2) ax.set_title("keyword mode is 'fontdict=font'", fontdict=font)
ax.text(1.5, 0.4, "cos(x)*sin(x)", fontdict=font) ax.set_xlabel("time (h)", **font)
ax.set_ylabel(r"$\Delta$height (cm)", **font) ax.set_xlim(0, 2*np.pi) plt.show()
=============================================
图 9.2
import matplotlib.pyplot as plt
import numpy as np fig=plt.figure()
ax=fig.add_subplot(111) font={"family":"serif", "color":"navy", "weight":"black", "size":16} x=np.linspace(0.0, 2*np.pi, 500)
y=np.cos(2*x)*np.sin(2*x) ax.plot(x, y, color="k", ls="-", lw=2) ax.set_title("keyword mode is '**font'", **font)
ax.text(1.5, 0.52, "cos(2*x)*sin(2*x)", **font) ax.set_xlabel("time (h)", **font)
ax.set_ylabel(r"$\Delta$height (cm)", **font) ax.set_xlim(0, 2*np.pi) plt.show()
=============================================
图 9.3
import matplotlib.pyplot as plt
import numpy as np font=dict(family="serif", color="navy", weight="black", size=16)
color="skyblue"
linewidth=3 fig=plt.figure()
ax=fig.add_subplot(111) linestyleList=["-", "--", "-.", ":"] x=np.arange(1, 11, 1)
y=np.linspace(1, 1, 10) ax.text(4, 4.0, "line styles", **font) for i, ls in enumerate(linestyleList):
ax.text(0, i+0.5, "'{}'".format(ls), **font)
ax.plot(x, (i+0.5)*y, linestyle=ls, color=color, linewidth=linewidth) ax.set_xlim(-1, 11)
ax.set_ylim(0, 4.5) ax.margins(0.2)
ax.set_xticks([])
ax.set_yticks([]) plt.show()
=============================================
图 9.4
import matplotlib.pyplot as plt
import numpy as np font_style=dict(family="serif", color="navy", weight="black", size=12)
line_marker_style=dict(linestyle=":", linewidth=2, color="maroon", markersize=10) fig=plt.figure()
ax=fig.add_subplot(111) msNameList=["'.'--point marker", "','--piexel marker", "'o'--circle marker",
"'v'--triangle_down_marker", "'^'--triangle_up marker",
"'<'--triangle_left marker", "'>'--triangle_right marker",
"'1'--tri_down marker", "'2'--tri_up marker", "'3'--tri_left marker",
"'4'--tri_right marker", "'s'--square marker", "'p'--pentagon marker",
"'*'--star marker", "'h'--hexagon1 marker", "'H'--hexagon2 marker",
"'+'--plus marker", "'x'--x marker", "'D'--diamond marker", "'d'--thin_diamond marker",
"'|'--vline markder", "'_'--hline marker"] markerstyleList=['.', ',', 'o', 'v', '^', '<', '>', '1', '2', '3', '4', 's', 'p', '*', 'h', 'H',
'+', 'x', 'D', 'd', '|', '_'] x=np.arange(5, 11, 1)
y=np.linspace(1, 1, 6) ax.text(4, 23, "marker styles", **font_style) for i, ms in enumerate(markerstyleList):
ax.text(0, i+0.5, msNameList[i], **font_style)
ax.plot(x, (i+0.5)*y, marker=ms, **line_marker_style) ax.set_xlim(-1, 11)
ax.set_ylim(0, 24) ax.margins(0.3)
ax.set_xticks([])
ax.set_yticks([]) plt.show()
=============================================
图 9.5
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(1, 13, 1)
y=np.array([12, 34, 22, 30, 18, 13, 15, 19, 24, 28, 23, 27]) fig, ax = plt.subplots(2, 2) ax[0, 0].scatter(x, y*1.5, marker=r"$\clubsuit$", c="#fb8072", s=500)
ax[0, 0].locator_params(axis="x", tight=True, nbins=11)
ax[0, 0].set_xlim(0, 13)
ax[0, 0].set_xticks(x)
ax[0, 0].set_title('显示样式 “%s” 的散点图' % r"$\clubsuit$") ax[0, 1].scatter(x, y-2, marker=r"$\heartsuit$", s=500)
ax[0, 1].locator_params(axis="x", tight=True, nbins=11)
ax[0, 1].set_xlim(0, 13)
ax[0, 1].set_xticks(x)
ax[0, 1].set_title('显示样式 “%s” 的散点图' % r"$\heartsuit$") ax[1, 0].scatter(x, y+7, marker=r"$\diamondsuit$", c="#fb8072", s=500)
ax[1, 0].locator_params(axis="x", tight=True, nbins=11)
ax[1, 0].set_xlim(0, 13)
ax[1, 0].set_xticks(x)
ax[1, 0].set_title('显示样式 “%s” 的散点图' % r"$\diamondsuit$") ax[1, 1].scatter(x, y-9, marker=r"$\spadesuit$", c="#8dd3c7", s=500)
ax[1, 1].locator_params(axis="x", tight=True, nbins=11)
ax[1, 1].set_xlim(0, 13)
ax[1, 1].set_xticks(x)
ax[1, 1].set_title('显示样式 “%s” 的散点图' % r"$\spadesuit$") plt.suptitle("不同原始字符串作为标记类型的展示效果", fontsize=16, weight="black") plt.show()
=============================================
图 9.6
import matplotlib.pyplot as plt
import numpy as np font_style=dict(family="serif", weight="black", size=12) line_marker_style1=dict(linestyle="--", linewidth=2, color="maroon", markersize=10)
line_marker_style2=dict(linestyle="--", linewidth=2, color="cornflowerblue", markersize=10)
line_marker_style3=dict(linestyle="--", linewidth=2, color="turquoise", markersize=10) fig=plt.figure()
ax=fig.add_subplot(111, facecolor="honeydew") x=np.linspace(0, 2*np.pi, 500)
y=np.sin(x)*np.cos(x) ax.plot(x, y, dashes=[10, 2], label="dashes=[10, 2]", **line_marker_style1)
ax.plot(x, y+0.2, dashes=[3, 1], label="dashes=[3, 1]", **line_marker_style2)
ax.plot(x, y+0.4, dashes=[2, 2, 8, 2], label="dashes=[2, 2, 8, 2]", **line_marker_style3) ax.axis([0, 2*np.pi, -0.7, 1.2]) ax.legend(ncol=3, bbox_to_anchor=(0.00, 0.95, 1.0, 0.05), mode="expand",
fancybox=True, shadow=True, prop=font_style) plt.show()
=============================================
图 9.7
import matplotlib.pyplot as plt
import numpy as np font_style=dict(family="sans-serif", color="saddlebrown", weight="semibold", size=16) line_marker_style=dict(linestyle=":", linewidth=2, color="cornflowerblue",
markerfacecoloralt="lightgrey", marker="o", markersize=10) fig=plt.figure()
ax=fig.add_subplot(111) fillstyleList=["full", "left", "right", "bottom", "top", "none"] x=np.arange(3, 11, 1)
y=np.linspace(1, 1, 8) ax.text(4, 6.5, "fill styles", **font_style) for i, fs in enumerate(fillstyleList):
ax.text(0, i+0.4, "'{}'".format(fs), **font_style)
ax.plot(x, (i+0.5)*y, fillstyle=fs, **line_marker_style) ax.set_xlim(-1, 11)
ax.set_ylim(0, 7) ax.margins(0, 3)
ax.set_xticks([])
ax.set_yticks([]) 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)自动请求网站的特定信息,再对这些 ...
随机推荐
- .NET周刊【6月第2期 2024-06-09】
国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.Ex ...
- 使用Vagrant创建CentOS虚拟机
使用Vagrant创建CentOS虚拟机 Vagrant是一款由HashiCorp公司提供的,用于快速构建虚拟机环境的软件.本节我们将使用Vagrant结合Oracle VM VirtualBox快速 ...
- 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart Search”功能
前言 这是一个AD的一个强大的新功能,能招到元器件的原理图.3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型. ManufacturerPart Search 在设计工具中选择即用型 ...
- 将PaddleOCR 转为 ONNX 运行
PaddleOCR 是目前最好的开源OCR框架, 但paddle框架的兼容性实在不怎么好, 部署的时候容易出现各种各样的问题. 如果能把PaddleOCR转成ONNX, 就可以跳过paddle框架坑的 ...
- QuartzNet暂停恢复会执行多次的问题解决
' var config = new System.Collections.Specialized.NameValueCollection { { "quartz.jobStore.misf ...
- P6631 [ZJOI2020] 序列题解
难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai, ...
- pyside6 QThread 以及自定义信号 测试
import sys import random from time import sleep from PySide6 import QtCore as qc from PySide6 import ...
- AT_abc215F 题解
考虑二分答案. 假设当前二分的答案为 \(k\),那么对于每个点,距离大于等于 \(k\) 的点构成了平面上 \(4\) 个子平面. 那么只需查询子平面中是否存在点即可,类似于窗口的星星,把问题转换成 ...
- java dom4j解析xml
jar包下载 官网地址:点我直达 将jar包导入工程 package com.cyb; import java.io.InputStream; import java.security.Message ...
- 透视开源生态,OSGraph——GitHub全域数据图谱的智能洞察工具
"透视开源生态,OSGraph--GitHub全域数据图谱的智能洞察工具 OSGraph (Open Source Graph) 是一个开源图谱关系洞察工具,基于GitHub开源数据全域图谱 ...