首页 文章详情

一本书掌握Python强大的绘图库Matplotlib

大邓和他的Python | 344 2021-12-01 04:23 0 0 0
UniSMS (合一短信)

Python 科学可视化领域是巨大的,由无数工具组成,从最通用和最广泛使用的工具到更专业和机密的工具。其中一些工具是基于社区的,而另一些则是由公司开发的。有些是专门为 Web 制作的,有些仅适用于桌面,有些处理 3D 和大数据,而有些则针对完美的 2D 渲染。


在这个图景中,Matplotlib 有着非常特别的地方。

  • 它是一个多功能且功能强大的库,可让您设计非常高质量的图形,适用于科学出版
  • 它还提供了一个简单直观的界面以及一个面向对象的架构,允许您调整图形中的任何内容。
  • 最后,它可以用作常规图形库以设计非科学图形。

本书章节四个部分

  • 第一部分 Matplotlib 库的基本原理。

    这包括回顾构成图形的不同部分、不同的坐标系、可用的比例和投影,我们还将介绍一些与排版和颜色相关的概念。

  • 第二部分 图形涉及实践。

    在介绍了一些生成更好图形的简单规则之后,我们将继续解释 Matplotlib 默认值和样式系统,然后再深入研究图形布局组织。然后我们将探索可用的不同类型的情节,看看如何用不同的元素装饰一个人物。

  • 第三部分 更高级的概念

    即 3D 图形、优化和动画。第四部分也是最后一部分是展示集合。


美图展览



案例代码

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.textpath import TextPath
from matplotlib.patches import PathPatch
from matplotlib.collections import PolyCollection
from matplotlib.font_manager import FontProperties
from matplotlib import font_manager as fm, rcParams
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

#更改字体,支持中文。
prop = FontProperties(fname='fonts/Alibaba-PuHuiTi-Bold.otf', weight=100)

red = np.array([2337785255]) / 255
darkred = np.array([1306071255]) / 255

fig = plt.figure(figsize=(14.8 / 2.5421 / 2.54))

ax = fig.add_axes([0011], aspect=1, xlim=[-1010], ylim=[-14.214.2])
ax.axis("off")

# Text path
path = TextPath((00), "MATPLOTLIB库", size=2, prop=prop)

# Text centering
V = path.vertices
xmin, xmax = V[:, 0].min(), V[:, 0].max()
ymin, ymax = V[:, 1].min(), V[:, 1].max()
V -= (xmin + xmax) / 2 + 1, (ymin + ymax) / 2


# Compute shadow by iterating over text path segments
polys = []
for (point, code) in path.iter_segments(curves=False):
    if code == path.MOVETO:
        points = [point]
    elif code == path.LINETO:
        points.append(point)
    elif code == path.CLOSEPOLY:
        points.append(points[0])
        points = np.array(points)
        for i in range(len(points) - 1):
            p0, p1 = points[i], points[i + 1]
            polys.append([p0, p1, p1 + (+20-20), p0 + (+20-20)])

# Display shadow
collection = PolyCollection(
    polys, closed=True, linewidth=0.0, facecolor=darkred, zorder=-10
)
ax.add_collection(collection)

# Display text
patch = PathPatch(path, facecolor="white", edgecolor="none", zorder=10)
ax.add_artist(patch)

# Transparent gradient to fade out shadow
I = np.zeros((20014)) + red
ax.imshow(I, extent=[-1111-1515], zorder=-20, clip_on=False)
I[:, 03] = np.linspace(01, len(I))
ax.imshow(I, extent=[-1111-1515], zorder=0, clip_on=False)


ax.text(
    6.5,
    -1.75,
    "一个多功能的科学可视化库",
    color="white",
    ha="right",
    va="baseline",
    size=10,
    #family="Pacifico",
    zorder=30,
    fontproperties=prop
)

# Save and show result
plt.savefig("text-shadow.pdf")
plt.savefig("text-shadow.png", dpi=600)
plt.show()

电子书下载

您可以阅读 PDF(95Mo,首选站点)这本书,该书是开放访问的,托管在 HAL 上,HAL 是一个面向学术界的法国开放档案馆。最新版本也可以在 GitHub 上找到。本书的来源(包括代码示例)可在 github.com/rougier/scientific-visualization-book 上找到。


代码&书pdf下载

https://github.com/hiDaDeng/DaDengAndHisPython/tree/master/matplotlib绘图支持中文  

https://hal.inria.fr/hal-03427242/document

近期文章

视频专栏课 | Python网络爬虫与文本分析

如何在DataFrame中使用If-Else条件语句创建新列

BERTopic 主题建模库 | 建议收藏

KeyBERT库 | 自动挖掘文本中的关键词

DataShare | 6000+个股票的每日财经新闻  

SmartScraper | 简单、自动、快捷的Python网络爬虫

SHAP | 机器学习模型解释库

读完本文你就了解什么是文本分析

文本分析在经管领域中的应用概述

综述:文本分析在市场营销研究中的应用

在会计研究中使用Python进行文本分析

文本分析方法在《管理世界》(2021.5)中的应用

中文金融情感词典发布啦 | 附代码

wordexpansion包 | 新增词向量法构建领域词典

语法最简单的微博通用爬虫weibo_crawler

hiResearch 定义自己的科研首页

SciencePlots | 科研样式绘图库

plydata库 | 数据操作管道操作符>>

plotnine: Python版的ggplot2作图库

Wow~70G上市公司定期报告数据集

漂亮~pandas可以无缝衔接Bokeh  

YelpDaset: 酒店管理类数据集10+G

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter