Python机器学习(六十九)Matplotlib 其他类型图形

Matplotlib 柱状图

柱状图/条形图是常见的图形类型,可使用bar()方法绘制。

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 柱状图条目
divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
# 柱状图条目的值
divisions_average_marks = [70, 82, 73, 65, 68]

# 绘制图形
plt.bar(divisions, divisions_average_marks, color="green")

# 设置标题
plt.title("Bar Graph")
# 设置x轴标签
plt.xlabel("Divisions")
# 设置y轴标签
plt.ylabel("Marks")

# 显示
plt.show()

输出

Matplotlib

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 柱状图条目
divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
# 柱状图条目的值
divisions_average_marks = [70, 82, 73, 65, 68]
boys_average_marks = [68, 67, 77, 61, 70]

index = np.arange(5)
width = 0.30

# 绘制图形
plt.bar(index, divisions_average_marks, width, color="green", label="Division Marks")
plt.bar(index + width, boys_average_marks, width, color="red", label="Boys Marks")

# 设置标题
plt.title("Bar Graph")
# 设置x轴标签
plt.xlabel("Divisions")
# 设置y轴标签
plt.ylabel("Marks")
# 设置 x 轴刻度
plt.xticks(index + width/2, divisions)

# 设置图例
plt.legend(loc='best')

# 显示
plt.show()

输出

Matplotlib

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 柱状图条目
divisions = ["Div-A", "Div-B", "Div-C", "Div-D", "Div-E"]
# 柱状图条目的值
boys_average_marks = [68, 67, 77, 61, 70]
girls_average_marks = [72, 97,69, 69, 66]

index = np.arange(5)
width = 0.30

# 绘制图形
plt.bar(index, boys_average_marks, width, color="red", label="Boys Marks")
plt.bar(index, girls_average_marks, width, color="blue", label="Girls Marks", bottom=boys_average_marks)

# 设置标题
plt.title("Bar Graph")
# 设置x轴标签
plt.xlabel("Divisions")
# 设置y轴标签
plt.ylabel("Marks")
# 设置 x 轴刻度
plt.xticks(index, divisions)

# 设置图例
plt.legend(loc='best')

# 显示
plt.show()

输出

Matplotlib

Matplotlib 饼图

饼图是另一种常见的图形类型,可以使用pie()方法制作饼图。

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 准备数据:公司市场占有率
firms = ["Firm A", "Firm B", "Firm C", "Firm D", "Firm E"]
market_share = [20, 25, 15, 10, 20]

# 设置第二项为爆炸(散开)状态
Explode = [0, 0.1, 0, 0, 0]

# 绘制图形
plt.pie(market_share, explode=Explode, labels=firms, shadow=True, startangle=45)
plt.axis('equal')
plt.legend(title="List of Firms")

# 显示
plt.show()

输出

Matplotlib

Matplotlib 直方图

直方图是一种非常常见的图表类型,尤其在概率统计很常用,是正态分布、t分布等各种分布的基础。直方图使用hist()方法绘制。

示例

生成一个随机的连续数据,包含1000个条目,将这些数据划分为10个等分,根据其频率绘制图表。

直方图是一种非常常见的图表类型,尤其在概率统计很常用,是正态分布、t分# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 准备数据
x = np.random.randn(1000)

# 绘制图形
plt.title("Histogram")
plt.xlabel("Random Data")
plt.ylabel("Frequency")
plt.hist(x, 10)

# 显示
plt.show()

输出

Matplotlib

Matplotlib 散点图

一个简单的例子展示了如何用matplotlib绘制散点图。

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 准备数据
n = 1024
X = np.random.normal(0, 1, n)
Y = np.random.normal(0, 1, n)
T = np.arctan2(Y, X)

# 绘制图形
plt.axes([0.025, 0.025, 0.95, 0.95])
plt.scatter(X, Y, s=75, c=T, alpha=.5)

plt.xlim(-1.5, 1.5)
plt.xticks(())
plt.ylim(-1.5, 1.5)
plt.yticks(())

# 显示
plt.show()

输出

Matplotlib

Matplotlib 填充图

一个简单的例子展示了如何用matplotlib绘制填充图。

示例

# 导入numpy库与matplotlib.pyplot库
import numpy as np
import matplotlib.pyplot as plt

# 准备数据
n = 256
X = np.linspace(-np.pi, np.pi, n, endpoint=True)
Y = np.sin(2 * X)

# 绘制图形
plt.axes([0.025, 0.025, 0.95, 0.95])

plt.plot(X, Y + 1, color='blue', alpha=1.00)
plt.fill_between(X, 1, Y + 1, color='blue', alpha=.25)

plt.plot(X, Y - 1, color='blue', alpha=1.00)
plt.fill_between(X, -1, Y - 1, (Y - 1) > -1, color='blue', alpha=.25)
plt.fill_between(X, -1, Y - 1, (Y - 1) < -1, color='red',  alpha=.25)

plt.xlim(-np.pi, np.pi)
plt.xticks(())
plt.ylim(-2.5, 2.5)
plt.yticks(())

# 显示
plt.show()

输出

Matplotlib

Matplotlib 网格

一个简单的例子展示了如何用matplotlib绘制网格。

示例

import matplotlib.pyplot as plt

ax = plt.axes([0.025, 0.025, 0.95, 0.95])

ax.set_xlim(0,4)
ax.set_ylim(0,3)
ax.xaxis.set_major_locator(plt.MultipleLocator(1.0))
ax.xaxis.set_minor_locator(plt.MultipleLocator(0.1))
ax.yaxis.set_major_locator(plt.MultipleLocator(1.0))
ax.yaxis.set_minor_locator(plt.MultipleLocator(0.1))
ax.grid(which='major', axis='x', linewidth=0.75, linestyle='-', color='0.75')
ax.grid(which='minor', axis='x', linewidth=0.25, linestyle='-', color='0.75')
ax.grid(which='major', axis='y', linewidth=0.75, linestyle='-', color='0.75')
ax.grid(which='minor', axis='y', linewidth=0.25, linestyle='-', color='0.75')
ax.set_xticklabels([])
ax.set_yticklabels([])

# 显示
plt.show()

输出

Matplotlib

Matplotlib 极坐标图

一个简单的例子展示了如何用matplotlib绘制极坐标图。

示例

import numpy as np
import matplotlib.pyplot as plt

ax = plt.axes([0.025, 0.025, 0.95, 0.95], polar=True)

N = 20
theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / N)
radii = 10 * np.random.rand(N)
width = np.pi / 4 * np.random.rand(N)
bars = plt.bar(theta, radii, width=width, bottom=0.0)

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

ax.set_xticklabels([])
ax.set_yticklabels([])
plt.show()

输出

Matplotlib

Matplotlib 3D图

一个简单的例子展示了如何用matplotlib绘制3D图。

示例

import numpy as np
import matplotlib.pyplot as plt
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)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot)
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.cm.hot)
ax.set_zlim(-2, 2)

plt.show()

输出

Matplotlib

猜你喜欢

转载自www.cnblogs.com/huanghanyu/p/13170805.html