# 多输出

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

有时想让绘的图更加花样些,比如让图中的颜色和当前的坐标数值有关系。下面开始实现这个渐变效果吧。

导入模块以及绘图中使用的 (x, y)

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import cm

from matplotlib.collections import LineCollection

%matplotlib inline

n = 10

x = np.arange(0, n, step=.5)

y = x ** 2

# y 的值归一化到[0, 1]

# 因为 y 大到一定程度超过临界数值后颜色就会饱和不变(不使用循环colormap)。

norm = plt.Normalize(y.min(), y.max())

# matplotlib.colors.Normalize 对象,可以作为参数传入到绘图方法里

# 也可给其传入数值直接计算归一化的结果

norm_y = norm(y)

1. 散点图颜色渐变

这个颜色渐变最简单,plt.scatter 可以接收参数 c , c 是一维的数值(与坐标点数量相同), 它会将这单个的数值映射成 rgb 色彩值.

官方例子: scatter demo

plt.scatter(x, y, c=norm_y, cmap='viridis');

2. 条形图颜色渐变与colormap

plt.bar 的参数 color 可以接收一组颜色,用于给每个柱子上色。所以实现颜色渐变只需要将当前的纵坐标值映射成 rgb 颜色

使用 cm(colormap) 可以完成单值到 rgb 的映射。具体做法是 cm.get_cmap() 拿到想要的 colormap,然后给其传入数值就会返回 rgb。

可用的 colormap 以及方法见官方文档 colormaps

map_vir = cm.get_cmap(name='viridis')

# name 参数用来选择使用哪个 colormap, 可选的见上面官方链接

# lut 参数推荐不要设置。是用来定义生成的 colormap 的长度也就是 map_vir 的长度

# 如果 colormap 的长度小于绘图坐标 y 的长度,那程序就会将多个 y 的颜色设置成一样。

color = map_vir(norm_y)

ax = plt.bar(x, y, color=color)

3. 线条图颜色渐变

plt.plot 的参数 color 只能接收 rgb 色彩值,且接收的的颜色是整条线的颜色,要实现线条上的颜色渐变不能使用 plot,使用LineCollection, 此方法较难,详见官方文档。

官方例子: plot multicolored_line

points = np.array([x, y]).T.reshape(-1, 1, 2)

segments = np.concatenate([points[:-1], points[1:]], axis=1)

fig, axs = plt.subplots()

lc = LineCollection(segments, cmap='viridis')

# Set the values used for colormapping

lc.set_array(norm_y)

line = axs.add_collection(lc)

axs.set_xlim(x.min(), x.max());

axs.set_ylim(y.min() - 1, y.max() + 1);

python画图渐变颜色的代号_plt绘图颜色渐变以及colormap相关推荐

  1. Python画图示例(4) 3D绘图

    Python画图示例(1) 一维数据集绘图 Python画图示例(2) 二维数据集绘图 Python画图示例(3) 其他绘图样式,散点图,直方图等 Python画图示例(4) 3D绘图 import ...

  2. python画图的模块_python强大的绘图模块matplotlib示例讲解

    Matplotlib 是 Python 的绘图库.作为程序员,经常需要进行绘图,在我自己的工作中,如果需要绘图,一般都是将数据导入到excel中,然后通过excel生成图表,这样操作起来还是比较繁琐的 ...

  3. python画图设置彩色线条_更改绘图中的线条颜色

    我在Python中用一些数据绘制了一个曲面图. 现在我试图改变这种情节的风格.但不幸的是,我陷入了线颜色的困境.它的默认值是黑色,但我想让它变成红色或其他颜色. 我的代码是:from mpl_tool ...

  4. python画图配色_python语言,文章绘图配色高级又简单!

    配色的选择是在我们论文文章画图过程中经常面临的一个问题.常用的R或python语言都内置了默认的颜色系统,强大的默认设置可以满足我们的绘图需求. 但当我们需要绘制更多的图形时,固定的配色就会显得重复, ...

  5. python画图x轴丢值_python-从pyplot绘图中擦除先前绘制的内容

    使用pyplot,我创建了一个图形并绘制了一些随机分散的(x,y)点.然后,我想将这些点的某些子集与线段相连.用户按下键后,我的程序需要擦除先前绘制的线段集(将原始点保留在原处),然后在另一组点之间绘 ...

  6. python画圆角矩形_Python图像库(PIL)绘图——带渐变的圆角矩形

    这是一种非常野蛮的方法,但它能完成任务.生成渐变的代码是从here中借用的.from PIL import Image, ImageDraw def channel(i, c, size, start ...

  7. python画图之哆啦a梦

    我只能说用python画图可太有趣了 turtle绘图的基础知识: 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.sc ...

  8. python画图怎么调色_数据可视化Seaborn从零开始学习教程(二) 颜色调控篇

    作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 Seaborn学习大纲 seaborn的学习内容主要包含以下几个部分: 风格管理 绘图风格设置 颜色风格设置 绘图方 ...

  9. python画图颜色填充_python画图的两种方法

    python如何画图?这里给大家介绍两款python绘图的库:turtle和Matplotlib. 相关推荐:<python视频> 1 安装turtle Python2安装命令:pip i ...

最新文章

  1. 【HDU】1305 Immediate Decodability(字典树:结构体数组,二维数组,链表/指针)
  2. 神了!阿里资深大牛熬夜整理Python学习路线,终于开放了
  3. Zarafa 7.0.11/7.1.2 发布
  4. 幂运算 数组_Super Pow:如何高效进行模幂运算
  5. 总结jenkins Android自动打包遇到的坑
  6. DevOps简单介绍
  7. go 用 mysql web开发环境_简单讲解Go程序中使用MySQL的方法
  8. 玉米田(加加强版)【插头dp】
  9. windows2008R2+IIS部署python Django的web环境
  10. 与代数式xyz所对应的C语言表达式是,C程序习题集讲解.doc
  11. awk将txt转换为csv
  12. 《互联网营销的流量池思维》——听课有感
  13. 大数据:商业革命与科学革命
  14. JAVA-----集合子接口Queue及其子接口Deque
  15. (rear + maxSize - front) % maxSize 公式的理解(文图详解,手把手)
  16. 硬盘主引导记录错误问题
  17. Required field ‘client_protocol‘ is unset
  18. Andriod小项目——在线音乐播放器
  19. 一套完整的微信公众号代运营方案
  20. 微信群助手机器人如何使用?哪家群助手好用?

热门文章

  1. TCMalloc内存分配器如何减少内存碎片?
  2. Java Swing/AWT API速查手册
  3. hadoop之MapReduce的案例(多表关联)
  4. python的web技术宅
  5. python的基础集合(八)
  6. 浅析python中的main函数_浅的意思
  7. c语言学习-对从键盘输入的一个字符串中的大英字母及数字进行计数
  8. OpenShift 4 - 查看Node上的日志
  9. OpenShift 4 之获取全部CRD用户资源定义对象
  10. Abp vnext 特征(Features)