数据分析–numpy、pandas、matplotlib
Matplotlib
Matplotlib是一个用于创建静态、动态和交互式图形的2D绘图库。它可以绘制线图、散点图、直方图等各种类型的图表,用于可视化数据和结果。
1、创建图表和子图
plt.figure()
:创建一个新的图表。plt.subplots()
:创建一个包含多个子图的图表。
2、绘制图形
plt.plot()
:绘制折线图。x
: x 轴的数据。y
: y 轴的数据。color
(或c
): 线条的颜色。linestyle
(或ls
): 线条的风格,如实线 (-
)、虚线 (--
)。linewidth
(或lw
): 线条的宽度。marker
: 点的标记样式,如圆圈 (o
)、方块 (s
)。markersize
(或ms
): 点的大小。label
: 线条的标签,用于图例。
plt.scatter()
:绘制散点图。x
: x 轴的数据。y
: y 轴的数据。color
(或c
): 点的颜色。marker
: 点的标记样式,如圆圈 (o
)、方块 (s
)。s
: 点的大小。alpha
: 点的透明度。label
: 点的标签,用于图例。
plt.bar()
:绘制柱状图。x
: 柱状图的 x 轴位置。height
(或y
): 柱状图的高度。width
: 柱状图的宽度。color
(或c
): 柱状图的颜色。edgecolor
: 柱状图的边框颜色。linewidth
: 柱状图的边框宽度。tick_label
: 柱状图的刻度标签。align
: 柱状图的对齐方式。
plt.hist()
:绘制直方图。x
: 数据。bins
: 分组数量或分组边界。color
(或c
): 直方图的颜色。edgecolor
: 直方图的边框颜色。alpha
: 直方图的透明度。label
: 直方图的标签,用于图例。
plt.pie()
:绘制饼图。x
: 饼图的数值。labels
: 饼图每个部分的标签。colors
: 饼图每个部分的颜色。explode
: 突出显示某些部分。autopct
: 控制饼图上显示的百分比格式。startangle
: 饼图开始的角度。
plt.imshow()
: 显示图像数据。
3、图表装饰和设置
-
plt.title()
:设置图表标题。 -
plt.xlabel()
和plt.ylabel()
:设置 x 轴和 y 轴标签。 -
plt.xlim()
和plt.ylim()
:设置 x 轴和 y 轴的显示范围。 -
plt.xticks()
和plt.yticks()
:设置 x 轴和 y 轴的刻度标签。 -
plt.legend()
:显示图例。 -
plt.grid()
:显示网格线。 -
plt.color()
:设置颜色。 -
plt.()
:设置线条样式。 -
plt.marker()
:设置标记样式。 -
plt.text()
: 在图中添加文本。 -
plt.annotate()
: 添加带有箭头的注释。
4、图像保存与显示
plt.savefig()
:保存图表为图片文件。plt.show()
:显示图表。
6、中文
- fontproperties=zhfont1
# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf")
plt.title("中文题目", fontproperties=zhfont1)
Numpy
NumPy(Numerical Python)是一个开源的Python科学计算库,它提供了强大的多维数组对象和用于处理这些数组的函数。NumPy是许多其他Python科学计算库的基础,例如pandas和matplotlib。它也可以用于线性代数、傅立叶变换和随机数生成等方面。
1、创建数组
-
np.array()
:从列表或元组等序列对象创建数组。import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) # 输出:[1 2 3 4 5]
-
np.zeros()
:创建全零数组。zeros_arr = np.zeros((2, 3)) print(zeros_arr) """ 输出: [[0. 0. 0.] [0. 0. 0.]] """
-
np.ones()
:创建全一数组。ones_arr = np.ones((3, 2)) print(ones_arr) """ 输出: [[1. 1.] [1. 1.] [1. 1.]] """
-
np.arange()
:创建等差数组。arange_arr = np.arange(1, 10, 2) print(arange_arr) # 输出:[1 3 5 7 9]
-
np.linspace()
:创建等间距数组。linspace_arr = np.linspace(1, 10, 5) print(linspace_arr)