2024年最全Python-Matplotlib可视化(2)——自定义颜色绘制精美统计图,2024年最新字节跳动面试一般多久给回复!

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

    • 为所有点使用相同的颜色
  • 为每个点定义不同的颜色

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

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

  • 使用自定义颜色绘制饼图

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

  • 使用色彩映射绘制散点图

  • 使用色彩映射绘制条形图

  • 创建自定义配色方案

  • 系列链接

前言


matplotlib提供的所有绘图都带有默认样式。虽然这可以进行快速绘图,但有时可能需要自定义绘图的颜色和样式,以对绘制更加精美、符合审美要求的图像。matplotlib的设计考虑到了此需求,可以很容易调整matplotlib图形的颜色和样式。

自定义颜色


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

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

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

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

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

别名颜色显示
bblue
ggreen
rred
ccyan
mmagenta
yyellow
kblack
wwhite
  1. HTML颜色字符串:matplotlib可以将HTML颜色字符串解释为实际颜色。这些字符串被定义为#RRGGBB,其中RR、GG和BB是使用十六进制编码的红色、绿色和蓝色分量。

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

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

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

import numpy as np

import matplotlib.pyplot as plt

def 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()

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

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

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

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

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

为所有点使用相同的颜色

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

import numpy as np

import matplotlib.pyplot as plt

y_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()

为所有点使用相同的颜色

为每个点定义不同的颜色

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

5.0,3.3,1.4,0.2,Iris-setosa

7.0,3.2,4.7,1.4,Iris-versicolo

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

import numpy as np

import matplotlib.pyplot as plt

label_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()

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

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

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

import numpy as np

import matplotlib.pyplot as plt

data = np.random.standard_normal((100, 2))

plt.scatter(data[:,0], data[:,1], color = ‘1.0’, edgecolor=‘r’)

plt.show()

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

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

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

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

import numpy as np

import matplotlib.pyplot as plt

w_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()

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

import numpy as np

import matplotlib.pyplot as plt

values = 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()

使用自定义颜色控制条形图中条形边的颜色

使用自定义颜色绘制饼图

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值