使用jupyter中的matplotlib库绘制简单图表4

一、设置图表样式与映射表

(1)使用rc()函数修改图表样式
(2)设置颜色映射表可以使用关键字cmap或者直接调用set_cmap()函数进行设置

1、代码

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
x = np.arange(5)
y1 = [1200, 2400, 1800, 2200, 1600]
y2 = [1050, 2100, 1300, 1600, 1340]
bar_width = 0.6
tick_label = ["家庭", "小说", "心理", "科技", "儿童"]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.bar(x, y1, bar_width, color="b", align="center", label ="地区1")
ax.bar(x, y2, bar_width, bottom=y1, color="c", align="center", label="地区2")
ax.set_ylabel("采购数量(本)")
ax.set_xlabel("图书种类")
ax.set_title(" 地区1和地区2对各类图书的采购情况")
ax.grid(True, axis='y', color="gray", alpha=0.2)
ax.set_xticks(x)
ax.set_xticklabels(tick_label)
ax.legend()
plt.show()

效果如图

使用jupyter中的matplotlib库绘制简单图表4

二、选择线型

(1)线型取值”:’,’-.’,’–’,’-‘”四种
表示方法plt.plot(…,linestyle=’–’)或者plt.plot(…,ls=’–’)
1、代码

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
eurcny_2017 = np.array([6.8007, 6.8007, 6.8015, 6.8015, 6.8060,  6.8060, 6.8060, 6.8036,
6.8025, 6.7877, 6.7835, 6.7758, 6.7700, 6.7463, 6.7519,6.7511,
6.7511, 6.7539, 6.7265])
eurcny_2019 = np.array([6.8640, 6.8705, 6.8697, 6.8697, 6.8697,6.8881, 6.8853, 6.8856,
6.8677, 6.8662, 6.8662, 6.8662, 6.8827, 6.8761, 6.8635,6.8860,
6.8737, 6.8796, 6.8841])
date_x = np.array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 26, 31])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(date_x, eurcny_2017, color='hotpink', linewidth=3,linestyle=':',label='2017年7月美元/人民币汇率')
ax.plot(date_x, eurcny_2019, color='#8a2e76', linestyle='--', linewidth=2, label='2019年7月美元/人民币汇率')
ax.set_title('2017年7月与2019年7月美元/人民币汇率走势')
ax.set_xlabel('日期')
ax.set_ylabel('汇率')
ax.legend()
plt.show()

效果如图

使用jupyter中的matplotlib库绘制简单图表4

三、添加数据标记

(1)plot()函数与scatter()函数可以将标记的取值传递给marker参数
实例:plt.plot([1,2,3,4,5,6,7,8],[6,7,8,9,10,11,12,13],marker=’X’,markerfacecolor=’y’,markersize=15,linestyle=’:’,color=’#8a2e76′)
1、代码

import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5,6,7,8],[6,7,8,9,10,11,12,13],marker='X',markerfacecolor='y',
markersize=15,linestyle=':',color='#8a2e76')
plt.show()

效果如图

使用jupyter中的matplotlib库绘制简单图表4
2、代码
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
sale_a = [2144, 4617, 7674, 6666]
sale_b = [853, 1214, 2414, 4409]
sale_c = [153, 155, 292, 680]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(sale_a, 'D-', sale_b, '^:', sale_c, 's--')
ax.grid(alpha=0.3)
ax.set_ylabel('销售额(万元)')
ax.set_xticks(np.arange(len(sale_c)))
ax.set_xticklabels(['第1季度','第2季度', '第3季度', '第4季度'])
ax.legend(['产品A','产品B','产品C'])
plt.show()

效果如图

使用jupyter中的matplotlib库绘制简单图表4

四、设置字体及注释文本属性添加

1、代码

plt.plot([1, 2, 3], [3, 4, 5],linestyle='--')
plt.text(1.9, 3.75, 'y=x+2', bbox=dict(facecolor='y'), family='serif', fontsize=12, fontstyle='normal', rotation=0)

效果如图

使用jupyter中的matplotlib库绘制简单图表4
实例
2、代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(4, 19)
y_max =[32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25,  31]
y_min = [19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16 , 16]
plt.plot(x, y_max, marker='o', label='最高温度')
plt.plot(x, y_min, marker='o', label='最低温度')
x_temp = 4
for y_h, y_l in zip(y_max, y_min):
    plt.text(x_temp-0.3, y_h  + 0.7, y_h, family='SimHei', fontsize=8, fontstyle='normal')
    plt.text(x_temp-0.3, y_l  + 0.7, y_l, family='SimHei', fontsize=8, fontstyle='normal')
    x_temp  += 1
plt.title('未来15天最高气温和最低气温的走势')
plt.xlabel('日期')
plt.ylabel('温度($^\circ$C)')
plt.ylim(0, 40)
plt.legend()
plt.show()

效果如图所示

使用jupyter中的matplotlib库绘制简单图表4

五、填充区域

(1)使用fill()函数填充多边形
(2)使用fill_between()函数填充两条水平曲线之间的区域
(3)使用fill_betweenx()函数填充两条垂直曲线之间的区域

1、代码

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8 * np.pi, 1000)
sin_y = np.sin(x)
cos_y = np.cos(1.5 * x / np.pi) / 2
plt.plot(x, sin_y)
plt.plot(x, cos_y)
plt.fill_between(x, cos_y, sin_y, cos_y < sin_y, color='k', alpha=0.5)
plt.fill_between(x, cos_y, sin_y, cos_y > sin_y, color='orangered', alpha=0.5)
plt.show()

效果如图所示

使用jupyter中的matplotlib库绘制简单图表4
实例
2、代码
import numpy as np
import matplotlib.pyplot as plt
def koch_snowflake(order, scale=10):
    def _koch_snowflake_complex(order):
        if order == 0:
            angles = np.array([0, 120, 240]) + 90
            return scale / np.sqrt(3) * np.exp(np.deg2rad(angles)  * 1j)
        else:
            ZR = 0.5 - 0.5j  * np.sqrt(3) / 3
            p1 = _koch_snowflake_complex(order - 1)
            p2 = np.roll(p1, shift=-1)
            dp = p2 - p1
            new_points = np.empty(len(p1) * 4, dtype=np.complex128)
            new_points[::4] = p1
            new_points[1::4] = p1 + dp / 3
            new_points[2::4] = p1 + dp * ZR
            new_points[3::4] = p1 + dp / 3 * 2
            return new_points
    points = _koch_snowflake_complex(order)
    x, y = points.real, points.imag
    return x, y
x, y = koch_snowflake(order=2)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.fill(x, y, facecolor='pink', edgecolor='b', linewidth=6)
plt.show()

效果如图所示

使用jupyter中的matplotlib库绘制简单图表4

Original: https://blog.csdn.net/jgxc152/article/details/123508924
Author: 灰灰.X
Title: 使用jupyter中的matplotlib库绘制简单图表4

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/764560/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 支付宝的架构

    自 2008 年双 11 以来,在每年双 11 超大规模流量的冲击上,蚂蚁金服都会不断突破现有技术的极限。2010 年双 11 的支付峰值为 2 万笔/分钟,到 2017 年双 1…

    Python 2023年11月7日
    032
  • python-类

    面向对象 在编程语言中,我们将变量看成数据,它用来存储多种形式的值;我们将函数看成操作,它用来对数据进行某些处理。所有的代码都由数据和操作构成,程序运行的本质就是对数据进行各种操作…

    Python 2023年8月1日
    031
  • 试试将.NET7编译为WASM并在Docker上运行

    之前有听到说Docker支持Wasmtime了,刚好.NET7也支持WASM,就带大家来了解一下这个东西,顺便试试它怎么样。 因为 WASM(WebAssembly) 一开始是一个…

    Python 2023年10月15日
    038
  • “东数西算”背景下算力服务对算力经济发展影响分析

    中国联通 算 力_网络实践案例 目 录 1 中国联通 _算 力_网络研发历程回顾 ……………… 1 2 中国…

    Python 2023年10月10日
    040
  • 7_JS关于数据代理_Object.defineProperty_Vue数据代理_双向绑定

    回顾 object.defineProperty() 方法 区别 defineProperty == 给对象定义属性用的 需要传递三个基本参数 需要定义属性的对象名 你要定义的属性…

    Python 2023年10月17日
    046
  • Python模块与包

    1.模块 1.1模块介绍 2.模块导入 1.3__name__ 2.包 2.1什么是包 2.2导入包语法 2.3导入包的本质 2.4__init__文件 1.1模块介绍 在计算机程…

    Python 2023年8月6日
    052
  • gorm中的关联操作详解

    一对一 belong to 属于:可以理解为舔狗认为自己属于女神,而女神都不知道舔狗的存在 type Girl struct { Id int Name string } type…

    Python 2023年10月19日
    042
  • 【linux环境篇】Conda使用指南

    一、linux环境构建虚拟环境 linux系统 安装conda 1&#x3001;wget https://repo.anaconda.com/miniconda/Mini…

    Python 2023年9月7日
    055
  • Jetson nano安装torch和torchvision

    前言:首先下载torch和torchvision 百度网盘(torch1.7.0 torchvision 0.8.0) 链接:https://pan.baidu.com/s/15d…

    Python 2023年9月15日
    030
  • 二叉树的重建问题

    二叉树的重建问题 作者:Grey 原文地址: 博客园:二叉树的重建问题 CSDN:二叉树的重建问题 说明 二叉树的各种遍历见二叉树的先,中,后序遍历(递归,非递归,Morris方法…

    Python 2023年10月21日
    033
  • Python贴心小管家源代码–每日播报高考倒计时、天气情况、还有“营养鸡汤”

    对于高考,你还在每天数着还有多少天吗?对于天气,你还每天去看天气预报吗?你每天需要看一些励志话语来督促自己前进吗? python可以合上述三者为一体帮你轻松实现你的日常! 运行截图…

    Python 2023年6月12日
    0108
  • python命名规范总结

    Snake Case – 蛇形命名:students_marks单词之间用下划线分隔。每个单词都以小写字母开头。全由小写字母和下划线组成,单词用小写单词间用下划线连接,…

    Python 2023年6月11日
    098
  • ELK技术-Logstash

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 弹尽粮绝,会员救园:…

    Python 2023年10月23日
    029
  • Scrapy内容

    week11🎃11月09日 目录 1.整个工作流程​ 2.名词解释 (1)引擎engine (2)调度器scheduler (3)下载器downloader (4)爬虫spider…

    Python 2023年10月3日
    032
  • 看漫画漫画柜mhgui,Python爬虫之神奇的eval,附赠一个压缩模块

    @ ⛳️ 看漫画漫画柜 mhgui 实战分析 ⛳️ 看漫画漫画柜 mhgui 实战分析 本次爬虫采集的案例是漫画柜,该站点貌似本身就游走在法律的边缘。站点地址直接检索即可进入,在该…

    Python 2023年6月3日
    095
  • 多智能体强化学习之MAPPO理论解读

    本文主要是结合文章Joint Optimization of Handover Control and Power Allocation Based on Multi-Agent …

    Python 2023年9月28日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球