iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用Matplotlib怎么自定义颜色绘制精美统计图
  • 511
分享到

使用Matplotlib怎么自定义颜色绘制精美统计图

2023-06-15 08:06:40 511人浏览 泡泡鱼
摘要

本篇文章为大家展示了使用Matplotlib怎么自定义颜色绘制精美统计图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。自定义颜色在生活中,我们可能对色彩的搭配与审美有自己的偏好,因此,我们可能希望m

本篇文章为大家展示了使用Matplotlib怎么自定义颜色绘制精美统计图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

自定义颜色

在生活中,我们可能对色彩的搭配与审美有自己的偏好,因此,我们可能希望matplotlib遵循自定义的颜色方案,以便所绘制的图形更好地适合文档或网页。

matplotlib中有多种定义颜色的方法,常见的方法包括:

三元组(Triplets):颜色可以描述为一个实数三元组,即颜色的红、蓝、绿分量,其中每个分量在[0,1]区间内。因此,(1.0, 0.0, 0.0)表示纯红色,而(1.0, 0.0, 1.0)则表示粉色。

四元组(Quadruplets):它们前三个元素与三元组定义相同,第四个元素定义透明度值。此值也在[0,1]区间内。将图形渲染到图片文件中时,使用透明颜色可以使绘制图形与背景进行混合。

预定义名称:matplotlib将标准html颜色名称解释为实际颜色。例如,字符串red即可表示为红色。同时一些某些颜色的具有简洁的别名,如下表所示:

别名颜色显示
bblue
ggreen
rred
ccyan
mmagenta
yyellow
kblack
wwhite

HTML颜色字符串:matplotlib可以将HTML颜色字符串解释为实际颜色。这些字符串被定义为#RRGGBB,其中RR、GG和BB是使用十六进制编码的红色、绿色和蓝色分量。

灰度字符串:matplotlib将浮点值的字符串表示形式解释为灰度,例如0.75表示中浅灰色。

使用自定义颜色绘制曲线图

通过设置plt.plot()函数的参数color(或等效的简写为c),可以设置曲线的颜色,如下所示:

import numpy as npimport matplotlib.pyplot as pltdef pdf(x, mu, sigma):    a = 1. / (sigma * np.sqrt(2. * np.pi))    b = -1. / (2. * sigma ** 2)    return a * np.exp(b * (x - mu) ** 2)x = np.linspace(-6, 6, 1000)for i in range(5):    samples = np.random.standard_nORMal(50)    mu, sigma = np.mean(samples), np.std(samples)    plt.plot(x, pdf(x, mu, sigma), color = str(.15*(i+1)))plt.plot(x, pdf(x, 0., 1.), color = 'k')plt.plot(x, pdf(x, 0.2, 1.), color = '#00ff00')plt.plot(x, pdf(x, 0.4, 1.), color = (0.9,0.9,0.0))plt.plot(x, pdf(x, 0.4, 1.), color = (0.9,0.9,0.0,0.8))plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

使用自定义颜色绘制散点图

可以以同样的方式像控制曲线图一样控制散点图的颜色。有两种可用的形式:

为所有点使用相同的颜色 :所有点都将以相同的颜色显示。

为每个点定义不同的颜色:为每个点提供不同的颜色。

为所有点使用相同的颜色

利用从二元高斯分布中提取的两组点y_1y_2,每一组中点的颜色相同:

import numpy as npimport matplotlib.pyplot as plty_1 = np.random.standard_normal((150, 2))y_1 += np.array((-1, -1)) # Center the distrib. at <-1, -1>y_2 = np.random.standard_normal((150, 2))y_2 += np.array((1, 1)) # Center the distrib. at <1, 1>plt.scatter(y_1[:,0], y_1[:,1], color = 'c')plt.scatter(y_2[:,0], y_2[:,1], color = 'b')plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

为每个点定义不同的颜色

我们总会遇到这样的绘图场景,需要为不同类别的点使用不同的颜色进行绘制,以观察不同类别间的差异情况。以Fisher's iris数据集为例,其数据集中数据类似如下所示:

5.0,3.3,1.4,0.2,Iris-setosa7.0,3.2,4.7,1.4,Iris-versicolo

数据集的每个点都存储在以逗号分隔的列表中。最后一列给出每个点的标签(标签包含三类:Iris-virginica、Iris-versicolor 和Iris-Vertosa)。在示例中,这些点的颜色将取决于它们的标签,如下所示:

import numpy as npimport matplotlib.pyplot as pltlabel_set = (    b'Iris-setosa',    b'Iris-versicolor',    b'Iris-virginica',)def read_label(label):    return label_set.index(label)data = np.loadtxt('iris.data', delimiter = ',', converters = { 4 : read_label })color_set = ('c', 'y', 'm')color_list = [color_set[int(label)] for label in data[:,4]]plt.scatter(data[:,0], data[:,1], color = color_list)plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图Tips:

对于三种可能的标签,分别指定一种唯一的颜色。颜色在color_set中定义,标签在label_set中定义。label_set中的第i个标签与color_set中的第i个颜色相关联。然后我们利用它们把标签列表转换成颜色列表color_list。然后只需调用plt.scatter()一次即可显示所有点及其颜色。我们也可以通过对三个不同的类别单独调用plt.scatter()来实现,但这将需要更多的代码。另外需要注意的是:如果两点有可能有相同的坐标,但有不同的标签,显示的颜色将是后绘制点的颜色,可以使用透明颜色,用来显示重叠点。

为散点图中数据点的边使用自定义颜色

与color参数控制点的颜色一样,可以使用edgecolor参数控制数据点的边的颜色。可以为每个点的边设置相同的颜色:

import numpy as npimport matplotlib.pyplot as pltdata = np.random.standard_normal((100, 2))plt.scatter(data[:,0], data[:,1], color = '1.0', edgecolor='r')plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

Tips:也可以像在为每个点定义不同的颜色部分中介绍的一样为每个点的边设置不边的颜色

使用自定义颜色绘制条形图

控制绘制条形图使用的颜色与曲线图和散点图的工作原理相同,即通过可选参数color:

import numpy as npimport matplotlib.pyplot as pltw_pop = np.array([5., 30., 45., 22.])m_pop = np.array( [5., 25., 50., 20.])x = np.arange(4)plt.barh(x, w_pop, color='m')plt.barh(x, -m_pop, color='c')plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图Tips:

使用pyplot.bar()和pyplot.barh()函数自定义颜色绘制条形图的工作方式与pyplot.scatter()完全相同,只需设置可选参数color,同时也可以参数edgecolor控制条形边的颜色。

import numpy as npimport matplotlib.pyplot as pltvalues = np.random.random_integers(99, size = 50)color_set = ('c', 'm', 'y', 'b')color_list = [color_set[(len(color_set) * val) // 100] for val in values]plt.bar(np.arange(len(values)), values, color = color_list)plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

使用自定义颜色绘制饼图

自定义饼图颜色的方法类似于条形图:

import numpy as npimport matplotlib.pyplot as pltcolor_set = ('c', 'm', 'y', 'b')values = np.random.rand(6)plt.pie(values, colors = color_set)plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图Tips:

饼图接受使用colors参数(注意,此处是colors,而不是在plt.plot()中使用的color)的颜色列表。但是,如果颜色数少于输入值列表中的元素数,那么plt.pie()将循环使用颜色列表中的颜色。在示例中,使用包含四种颜色的列表,为包含六个值的饼图着色,因此,其中有两个颜色将使用两次。

使用自定义颜色绘制箱型图

将箱型图中线条颜色进行修改:

import numpy as npimport matplotlib.pyplot as pltvalues = np.random.randn(100)b = plt.boxplot(values)for name, line_list in b.items():    for line in line_list:        line.set_color('m')plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

使用色彩映射绘制散点图

如果要在图形中使用多种颜色,逐个定义每种颜色并不是最佳方案,色彩映射可以解决此问题。色彩映射用一个变量对应一个值(颜色)的连续函数定义颜色。matplotlib提供了几种常见的颜色映射;大多数是连续的颜色渐变。
色彩映射在matplotib.cm模块中定义,提供创建和使用色彩映射的函数,它还提供了预定义的色彩映射选择。
函数pyplot.scatter()接受color参数的值列表,当提供cmap参数时,这些值将被解释为色彩映射的索引

import numpy as npimport matplotlib.cm as cmimport matplotlib.pyplot as pltn = 256angle = np.linspace(0, 8 * 2 * np.pi, n)radius = np.linspace(.5, 1., n)x = radius * np.cos(angle)y = radius * np.sin(angle)plt.scatter(x, y, c = angle, cmap = cm.hsv)plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

Tips:在matplotlib.cm模块中提供了大量预定义的色彩映射,其中cm.hsv包含全光谱的颜色。

使用色彩映射绘制条形图

plt.scatter()函数内置了对色彩映射的支持,其他一些绘图函数也内置支持色彩映射。但是,有些函数(如pyplot.bar())并未内置对色彩映射的支持。但是matplotlib可以从颜色映射显式生成颜色:

import numpy as npimport matplotlib.cm as cmimport matplotlib.pyplot as pltimport matplotlib.colors as colvalues = np.random.random_integers(99, size = 50)cmap = cm.ScalarMappable(col.Normalize(0, 99), cm.binary)plt.bar(np.arange(len(values)), values, color = cmap.to_rgba(values))plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

Tips:首先创建色彩映射cmap,以便将[0, 99]范围内的值映射到matplotlib.cm.binary的颜色。然后,函数cmap.to_rgba将值列表转换为颜色列表。因此,尽管plt.bar并未内置色彩映射支持,但依旧可以使用并不复杂的代码实现色彩映射。

创建自定义配色方案

matplotlib使用的默认颜色考虑的主要对象是打印文档或出版物。因此,默认情况下,背景为白色,而标签、轴和其他注释则显示为黑色,在某些不同的使用环境中,我们可能需要使用的配色方案;例如,将图形背景设置为黑色,注释设置为白色。
在matplotlib中,各种对象(如轴、图形和标签)都可以单独修改。但逐个更改这些对象的颜色配置并非最佳方案。在matplotlib中,所有对象都可以利用集中式配置修改其默认颜色:

import numpy as npimport matplotlib as mplfrom matplotlib import pyplot as pltmpl.rc('lines', linewidth = 2.)mpl.rc('axes', facecolor = 'k', edgecolor = 'w')mpl.rc('xtick', color = 'w')mpl.rc('ytick', color = 'w')mpl.rc('text', color = 'w')mpl.rc('figure', facecolor = 'k', edgecolor ='w')mpl.rc('axes', prop_cycle = mpl.cycler(color=[(0.1, .5, .75),(0.5, .5, .75)]))x = np.linspace(0, 7, 1024)plt.plot(x, np.sin(x))plt.plot(x, np.cos(x))plt.show()

使用Matplotlib怎么自定义颜色绘制精美统计图

上述内容就是使用Matplotlib怎么自定义颜色绘制精美统计图,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 使用Matplotlib怎么自定义颜色绘制精美统计图

本文链接: https://www.lsjlt.com/news/278863.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Matplotlib怎么自定义颜色绘制精美统计图
    本篇文章为大家展示了使用Matplotlib怎么自定义颜色绘制精美统计图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。自定义颜色在生活中,我们可能对色彩的搭配与审美有自己的偏好,因此,我们可能希望m...
    99+
    2023-06-15
  • 自定义颜色在Matplotlib柱形图绘制中的应用
    使用Matplotlib库绘制柱形图时如何自定义颜色 Matplotlib是一个功能强大、灵活且易于使用的Python绘图库,可以绘制各种类型的图形,包括柱形图。默认情况下,Matplotlib会自动为柱形图生成一组不同颜色的条...
    99+
    2024-01-17
    自定义颜色 柱形图
  • 怎样利用python turtle绘图自定义画布背景颜色
    这篇文章将为大家详细讲解有关怎样利用python turtle绘图自定义画布背景颜色,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python turtle自定义画布背景色turt...
    99+
    2023-06-22
  • 如何利用python turtle绘图自定义画布背景颜色
    目录python turtle自定义画布背景色python turtle设置背景图片总结python turtle自定义画布背景色 turtle是python一个简单好用的绘图包,它...
    99+
    2024-04-02
  • 如何使用ECharts和golang轻松绘制精美的统计图表
    如何使用ECharts和golang轻松绘制精美的统计图表随着数据的不断积累和应用,统计图表已经成为了展示数据的一种重要方式。在该领域中,ECharts作为一款流行的开源JavaScript图表库,其功能强大、易用且支持大量样式和图表类型,...
    99+
    2023-12-18
    Golang echarts 统计图表
  • MPAndroidChart自定义图表绘制使用实例
    目录引言1. LineGradientChart2. 散点图3. SteppedChart引言 声明:文中的MPChart代指MPAndroidChart. 本文主要讲解LineCh...
    99+
    2024-04-02
  • 怎么用python绘制精美地图海报
    今天小编给大家分享一下怎么用python绘制精美地图海报的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 简介Python库...
    99+
    2023-06-29
  • 怎么使用Python Matplotlib绘制条形图
    今天小编给大家分享一下怎么使用Python Matplotlib绘制条形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-07-02
  • matplotlib之Pyplot模块绘制三维散点图使用颜色表示数值大小
    目录一、摘要二、代码三、部分代码解释1. colormap(颜色)映射设置。2. 设置三维散点格式3. 设置侧边colorbar四、参考总结一、摘要 在进行数据可视化时,对于一元函数...
    99+
    2024-04-02
  • 怎么使用matplotlib绘制天气折线图
    使用matplotlib绘制天气折线图的基本步骤如下:1. 导入所需的包和模块:```pythonimport matplotlib...
    99+
    2023-09-20
    matplotlib
  • Python中怎么使用Matplotlib库绘制图形
    这篇文章主要介绍“Python中怎么使用Matplotlib库绘制图形”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么使用Matplotlib库绘制图形”文章能帮助大家解决问题。一、...
    99+
    2023-07-02
  • 使用matplotlib怎么绘制一个阶梯图
    这篇文章将为大家详细讲解有关使用matplotlib怎么绘制一个阶梯图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。step函数概述step函数用于绘制阶梯图。根据源码可知,step函数是对...
    99+
    2023-06-06
  • python怎么使用Matplotlib绘制多种常见图形
    今天小编给大家分享一下python怎么使用Matplotlib绘制多种常见图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-30
  • Python Matplotlib绘制箱线图boxplot()函数怎么使用
    这篇文章主要介绍“Python Matplotlib绘制箱线图boxplot()函数怎么使用”,在日常操作中,相信很多人在Python Matplotlib绘制箱线图boxplot()函数怎么使用问题上存在疑惑,小编查阅...
    99+
    2023-07-02
  • 从零开始:使用ECharts和golang制作精美的统计图表
    从零开始:使用ECharts和golang制作精美的统计图表在数据可视化的时代,统计图表成为展示数据的重要工具。ECharts作为一个功能强大且易于使用的开源库,为我们提供了各种各样的图表类型和丰富的图表样式。结合golang这个高效而强大...
    99+
    2023-12-17
    Golang echarts 统计图表
  • 使用matplotlib怎么绘制一个正余弦曲线图
    这篇文章主要介绍了使用matplotlib怎么绘制一个正余弦曲线图,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:1:首先我们需要导入基本的库matplotlib numpymatplot...
    99+
    2023-06-06
  • Android开发中怎么使用canvas绘制一个统计图
    Android开发中怎么使用canvas绘制一个统计图?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。效果如下:  特点:使用非常方便,可放在xml布局文...
    99+
    2023-05-31
    android canvas roi
  • 100天精通Python(可视化篇)——第85天:matplotlib绘制不同种类炫酷气泡图参数说明+代码实战(网格、自定义颜色、钟型、交互、打卡、动态气泡图)
    文章目录 专栏导读 1. 气泡图介绍 1)介绍 2)参数说明 2. 普通气泡图 3. 网格气泡图 4. 自定义气泡图颜色 5. 不同颜色气泡图 6...
    99+
    2023-09-01
    python matplotlib 气泡图 可视化 原力计划
  • python数学建模之怎么使用Matplotlib实现图片绘制
    本篇内容介绍了“python数学建模之怎么使用Matplotlib实现图片绘制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Matplotl...
    99+
    2023-07-02
  • 自定义视图view的折线图怎么使用
    这篇文章主要讲解了“自定义视图view的折线图怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“自定义视图view的折线图怎么使用”吧!绘制折线图预览图绘制这个折线图需要都需要哪些步骤?...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作