Python绘制图片一

文章目录

    • 一、代码段讲解
      • 1. `theta = np.linspace(0.0, 2 * np.pi, N , endpoint=False)`
      • 2. `ax = plt.subplot(111,projection='polar')`
      • 3. `bar.set_facecolor(plt.cm.viridis(r / 10.))`
      • 4. `bar.set_alpha(0.5)`
    • 二、附录

Python绘制图片一_第1张图片

一、代码段讲解


1. theta = np.linspace(0.0, 2 * np.pi, N , endpoint=False)

这是一个生成圆形上的点的代码。np.linspace(0.0, 2 * np.pi, N , endpoint=False)生成了从 0 0 0 2 π 2π 2π,共N个等差数列的数字,不包含2π,这些数字将被用来表示圆上的每一个点的极角(弧度制)。


2. ax = plt.subplot(111,projection='polar')

这行代码是创建了一个极坐标系子图,把整个图分为1行1列,这个子图占据整个图的全部空间(111)。projection='polar'用于指定子图的投影方式为极坐标系。

bars = ax.bar(theta,radii,width=width,bottom=0.0)

这一行代码中,ax.bar() 函数是在创建一个极径图形,其中:

  • theta 是弧度制的角度数组,它定义了每个扇形的中心角。
  • radii 是半径数组,它定义了每个扇形的半径大小。
  • width 是扇形的宽度。
  • bottom 是底部半径,它控制扇形与图形底部的距离。

此函数返回一个 bar 对象的数组,每个扇形都被创建为一个单独的 bar 对象。


3. bar.set_facecolor(plt.cm.viridis(r / 10.))

这行代码是在设置柱状图的颜色。其中 bar 是某个柱状图,plt.cm.viridis 是一种颜色映射(colormap),r / 10. 表示映射的颜色的程度。将 r / 10. 代入颜色映射函数得到的颜色,最后用 set_facecolor 函数设置给柱状图的颜色。

为什么10后面会有一个“.”?

这个“.”是用来强制将 r/10 这个表达式结果从整数转换为浮点数的。


4. bar.set_alpha(0.5)

for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r / 10))
    bar.set_alpha(0.5)
plt.show()

zip()函数的用法?

zip(radii,bars) 函数将两个序列合并成一个元组列表,并将相同位置的元素组合成一个元组。例如:

radii = [1,2,3,4,5]
bars = ['a','b','c','d','e']
zip(radii,bars) = [(1,'a'), (2,'b'), (3,'c'), (4,'d'), (5,'e')]

bar.set_alpha(0.5)

set_alpha()是matplotlib中设置图形透明度的函数。透明度是0~1之间的数字,0表示完全透明,1表示完全不透明。


二、附录

import numpy as np
import matplotlib.pyplot as plt

N = 20
theta = np.linspace(0.0, 2 * np.pi, N , endpoint=False)
radii = 10 * np.random.rand(N)
width = np.pi /8 * np.random.rand(N)

ax = plt.subplot(111,projection='polar')
bars = ax.bar(theta,radii,width=width,bottom=0)

for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r / 10))
    bar.set_alpha(0.5)
plt.show()

你可能感兴趣的:(机器学习,python,matplotlib,开发语言)