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()
输出
示例
# 导入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()
输出
示例
# 导入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 饼图
饼图是另一种常见的图形类型,可以使用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 直方图
直方图是一种非常常见的图表类型,尤其在概率统计很常用,是正态分布、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绘制散点图。
示例
# 导入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绘制填充图。
示例
# 导入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绘制网格。
示例
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绘制极坐标图。
示例
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 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()
输出