当前位置:首页 > 娱乐

plt Python干货:分享Python绘制六种可视化图表

可视化图表有很多种,这篇文章主要介绍了Python绘制六种可视化图表详解的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

视力表的种类不少,常见的有以下几种。其他的稍微复杂一点,大部分都是基于下面的组合和变换。新手很容易被官网上数不胜数的图表类型吓到。因为种类太多,图表的几种画法很可能会混淆。

所以在这里,我专门总结了六种常见的基本图表类型,大家可以通过对比研究打好基础。

01.折线图

画一个折线图,如果你没有很多数据,画出来的图会处于一个曲折的状态,但是一旦你的数据集很大,比如我们下面的例子,有100个点,那么我们肉眼看到的就是一条平滑的曲线。

这里我画三条线,执行plt.plot三次。

import numpy as np import matplotlib.pyplot as plt x= np.linspace(0, 2, 100) plt.plot(x, x, label='linear') plt.plot(x, x**2, label='quadratic') plt.plot(x, x**3, label='cubic') plt.xlabel('x label') plt.ylabel('y label') plt.title("Simple Plot") plt.legend() plt.show()

02.散点图

其实散点图和折线图的原理是一样的,散点图中的点和线连接起来就是折线图。所以要画散点图,只需设置线型即可。

注意:我这里也画了三条线。与上面不同,我只需要一个plt.plot。

import numpy as np import matplotlib.pyplot as plt x = np.arange(0., 5., 0.2) # 红色破折号, 蓝色方块 ,绿色三角块 plt.plot(x, x, 'r--', x, x**2, 'bs', x, x**3, 'g^') plt.show()

03.矩形图

直方图大家都不陌生。在这里,小明使得在一张图片中绘制两个频率直方图变得更加困难。这应该是实际场景中遇到的,因为真的比较方便,有木头吗?

import numpy as np import matplotlib.pyplot as plt np.random.seed(19680801) mu1, sigma1 = 100, 15mu2, sigma2 = 80, 15x1 = mu1 + sigma1 * np.random.randn(10000) x2 = mu2 + sigma2 * np.random.randn(10000) # the histogram of the data # 50:将数据分成50组 # facecolor:颜色;alpha:透明度 # density:是密度而不是具体数值 n1, bins1, patches1 = plt.hist(x1, 50, density=True, facecolor='g', alpha=1) n2, bins2, patches2 = plt.hist(x2, 50, density=True, facecolor='r', alpha=0.2) # n:概率值;bins:具体数值;patches:直方图对象。 plt.xlabel('Smarts') plt.ylabel('Probability') plt.title('Histogram of IQ') plt.text(110, .025, r'$mu=100, sigma=15$') plt.text(50, .025, r'$mu=80, sigma=15$') # 设置x,y轴的具体范围 plt.axis([40, 160, 0, 0.03]) plt.grid(True) plt.show()

04.矩形图

同样,我也不会画简单的直方图。这里有三个困难的图表。

4.1平行直方图

import numpy as np import matplotlib.pyplot as plt size = 5a = np.random.random(size) b = np.random.random(size) c = np.random.random(size) x = np.arange(size) # 有多少个类型,只需更改n即可 total_width, n = 0.8, 3 width = total_width / n # 重新拟定x的坐标 x = x - (total_width - width) / 2# 这里使用的是偏移 plt.bar(x, a, width=width, label='a') plt.bar(x + width, b, width=width, label='b') plt.bar(x + 2 * width, c, width=width, label='c') plt.legend() plt.show()

4.2叠加直方图

import numpy as np import matplotlib.pyplot as plt size = 5a = np.random.random(size) b = np.random.random(size) c = np.random.random(size) x = np.arange(size) # 这里使用的是偏移 plt.bar(x, a, width=0.5, label='a',fc='r') plt.bar(x, b, bottom=a, width=0.5, label='b', fc='g') plt.bar(x, c, bottom=a+b, width=0.5, label='c', fc='b') plt.ylim(0, 2.5) plt.legend() plt.grid(True) plt.show()

05.饼形图

5.1普通饼图

import matplotlib.pyplot as plt labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'sizes = [15, 30, 45, 10] # 设置分离的距离,0表示不分离 explode = (0, 0.1, 0, 0) plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',shadow=True, startangle=90) # Equal aspect ratio 保证画出的图是正圆形 plt.axis('equal') plt.show()

5.2嵌套饼图

import numpy as np import matplotlib.pyplot as plt # 设置每环的宽度 size = 0.3vals = np.array([[60., 32.], [37., 40.], [29., 10.]]) # 通过get_cmap随机获取颜色 cmap = plt.get_cmap("tab20c") outer_colors = cmap(np.arange(3)*4) inner_colors = cmap(np.array([1, 2, 5, 6, 9, 10])) print(vals.sum(axis=1)) # [92. 77. 39.] plt.pie(vals.sum(axis=1), radius=1, colors=outer_colors,wedgeprops=dict(width=size, edgecolor='w')) print(vals.flatten()) # [60. 32. 37. 40. 29. 10.] plt.pie(vals.flatten(), radius=1-size, colors=inner_colors,wedgeprops=dict(width=size, edgecolor='w')) # equal 使得为正圆 plt.axis('equal') plt.show()

5.3极坐标饼图

酷一点,极坐标饼图是最好的之一,一定要在这里学习。

import numpy as np import matplotlib.pyplot as plt np.random.seed(19680801) N = 10theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False) radii = 10 * np.random.rand(N) width = np.pi / 4 * np.random.rand(N) ax = plt.subplot(111, projection='polar') bars = ax.bar(theta, radii, width=width, bottom=0.0) # left表示从哪开始, # radii表示从中心点向边缘绘制的长度(半径) # width表示末端的弧长 # 自定义颜色和不透明度 for r, bar in (radii, bars):bar.set_facecolor(plt.cm.viridis(r / 10.))bar.set_alpha(0.5) plt.show()

06.三维绘图

6.1绘制三维散点图

import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D data = np.random.randint(0, 255, size=[40, 40, 40]) x, y, z = data[0], data[1], data[2] ax = plt.subplot(111, projection='3d') # 创建一个三维的绘图工程 # 将数据点分成三部分画,在颜色上有区分度 ax.scatter(x[:10], y[:10], z[:10], c='y') # 绘制数据点 ax.scatter(x[10:20], y[10:20], z[10:20], c='r') ax.scatter(x[30:40], y[30:40], z[30:40], c='g') ax.set_zlabel('Z') # 坐标轴 ax.set_ylabel('Y') ax.set_xlabel('X') plt.show()

6.2绘制三维平面图

from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-4, 4, 0.25) Y = np.arange(-4, 4, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) # 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') plt.show()

总结

以上是边肖介绍的Python绘制的六个可视化图表,希望对大家有所帮助。

1.《plt Python干货:分享Python绘制六种可视化图表》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《plt Python干货:分享Python绘制六种可视化图表》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/791259.html

上一篇

铃医 老中医铃医是什么意思 铃医这个名字有什么特殊的地方

下一篇

独步天下电视剧剧情 独步天下东哥怎么死的 电视剧独步天下结局是悲剧吗

商银通卡 官方回复|关于中铁银通卡问题与答案都在这里

  • 商银通卡 官方回复|关于中铁银通卡问题与答案都在这里
  • 商银通卡 官方回复|关于中铁银通卡问题与答案都在这里
  • 商银通卡 官方回复|关于中铁银通卡问题与答案都在这里
十大动物反应速度排行 世界十大反应最快的动物排行榜 排在第二的是

十大动物反应速度排行 世界十大反应最快的动物排行榜 排在第二的是

世界十大反应最快的动物排行榜,排在第二的是。世界上的动物种类很是丰富,人类只是其中渺小的一部分罢了。说到世界上反应最快的动物,可能大家不是很了解,下面和一起看看世界十大反应最快的动物排名吧。世界十大反应最快的动物1、猎豹排在世界十大反应最快的动物第一位就是猎豹,也被...

皇蛾阴阳蝶 世界八大名贵蝴蝶盘点,最珍贵的是我国的国蝶

蝴蝶被称为浪漫的昆虫,不同品种的蝴蝶在颜色、外观和大小上都有很大的差异。我们之前介绍了世界上最大的蝴蝶,也是世界上最恐怖的蝴蝶,今天给大家介绍一下世界上八种罕见的蝴蝶,每一种都很贵。我们来看看。世界上八大名贵蝴蝶盘点:1.金喙蝴蝶分布地区:中国只有5个亚种,体长约3...

亮色系 羽绒服别只穿黑色了,今年流行的是“亮色系”,时髦减龄不沉闷

  • 亮色系 羽绒服别只穿黑色了,今年流行的是“亮色系”,时髦减龄不沉闷
  • 亮色系 羽绒服别只穿黑色了,今年流行的是“亮色系”,时髦减龄不沉闷
  • 亮色系 羽绒服别只穿黑色了,今年流行的是“亮色系”,时髦减龄不沉闷

女子偷走万元皮草后只能“观赏”:得手的是S码但自己穿L码

  • 女子偷走万元皮草后只能“观赏”:得手的是S码但自己穿L码
  • 女子偷走万元皮草后只能“观赏”:得手的是S码但自己穿L码
  • 女子偷走万元皮草后只能“观赏”:得手的是S码但自己穿L码
贾欠钱屎尿体 撕下最后的遮羞布 比屎尿诗更臭的是利益交换

贾欠钱屎尿体 撕下最后的遮羞布 比屎尿诗更臭的是利益交换

大家还记得多年前,引发中国一场拼爹大讨论的我爸是李刚事件吗?而沈腾的电影《夏洛特烦恼》当中,《我的区长父亲》桥段其实也是对当今拼爹现象最大的讽刺,而在现实当中,因幼儿园拼爹被曝光而被拉下马的严书记就是最好的活标本。但是很不幸,在现实社会当中,拼爹现象依然屡禁不绝,并且向着各行各业蔓延,甚至已经成了公开的秘密,有些孩子生下来就含着金钥匙是不争的事实。而在2021年,陕西作协主席贾平凹的女儿贾浅浅将拼...

中国十大将军排名 中国历史上十大杰出武将,排名第一的是他,世人对其毫无争议

  • 中国十大将军排名 中国历史上十大杰出武将,排名第一的是他,世人对其毫无争议
  • 中国十大将军排名 中国历史上十大杰出武将,排名第一的是他,世人对其毫无争议
  • 中国十大将军排名 中国历史上十大杰出武将,排名第一的是他,世人对其毫无争议
穷图匕见 你知道图穷匕见是什么意思吗?讲的是谁的故事呢?

穷图匕见 你知道图穷匕见是什么意思吗?讲的是谁的故事呢?

成语是古代汉语词汇中长期使用的独特固定短语,来源于古代经典或著作、历史故事和人们的口头故事。 成语多以四字形式出现,也有一些三字多字,多由四字组成。简单来说,成语就是大家都知道的,可以从经典中引用,来源明确,典故明确,使用程度高的词语。 意义解释 图:地图;穷:精疲...