目录
一、用法精讲
616、pandas.plotting.andrews_curves方法
616-1、语法
616-2、参数
616-3、功能
616-4、返回值
616-5、说明
616-6、用法
616-6-1、数据准备
616-6-2、代码示例
616-6-3、结果输出
617、pandas.plotting.autocorrelation_plot方法
617-1、语法
617-2、参数
617-3、功能
617-4、返回值
617-5、说明
617-6、用法
617-6-1、数据准备
617-6-2、代码示例
617-6-3、结果输出
618、pandas.plotting.bootstrap_plot方法
618-1、语法
618-2、参数
618-3、功能
618-4、返回值
618-5、说明
618-6、用法
618-6-1、数据准备
618-6-2、代码示例
618-6-3、结果输出
619、pandas.plotting.boxplot方法
619-1、语法
619-2、参数
619-3、功能
619-4、返回值
619-5、说明
619-6、用法
619-6-1、数据准备
619-6-2、代码示例
619-6-3、结果输出
620、pandas.plotting.deregister_matplotlib_converters方法
620-1、语法
620-2、参数
620-3、功能
620-4、返回值
620-5、说明
620-6、用法
620-6-1、数据准备
620-6-2、代码示例
620-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
一、用法精讲
616、pandas.plotting.andrews_curves方法
616-1、语法
# 616、pandas.plotting.andrews_curves方法
pandas.plotting.andrews_curves(frame, class_column, ax=None, samples=200, color=None, colormap=None, **kwargs)
Generate a matplotlib plot for visualizing clusters of multivariate data.
其他信息见下图
616-2、参数
616-2-1、frame(必须):DataFrame,表示输入的pandas DataFrame,包含需要绘制的多维数据。
616-2-2、class_column(必须):字符串或整数,指定用于分类的列名或列索引,该列中的每个类别将被绘制成不同颜色的曲线。
616-2-3、ax(可选,默认值为None):matplotlib.axes.Axes,如果提供,则将在指定的轴上绘图,如果没有提供,则会生成一个新的图形。
616-2-4、samples(可选,默认值为200):整数,用于生成安德鲁斯曲线的样本数量,样本越多,曲线越平滑,但计算时间也会增加。
616-2-5、color(可选,默认值为None):字符串或列表,用于指定各类别的颜色,如果指定为字符串,所有类别将使用相同颜色;如果是列表,则列表的长度应与类别数量相同。
616-2-6、colormap(可选,默认值为None):str or Colormap,指定一个colormap,这样可以自动为不同的类别分配颜色。
616-2-7、**kwargs(可选):其他关键字参数,其他参数,可以传递给matplotlib 的plot函数,控制线条样式、宽度等。
616-3、功能
通过安德鲁斯曲线来展示数据中的不同类,每个类通过不同的曲线展示,从而让使用者能够直观地看到各类别在多维空间中的特征。
616-4、返回值
返回一个matplotlib.figure.Figure对象,如果ax参数被指定,则会返回的是传入的Axes对象;如果没有,则返回生成的新的Figure对象。
616-5、说明
无
616-6、用法
616-6-1、数据准备
无
616-6-2、代码示例
# 616、pandas.plotting.andrews_curves方法
import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import andrews_curves
# 创建示例数据
data = {
'class': ['A', 'A', 'B', 'B'],
'feature1': [1, 2, 2, 3],
'feature2': [3, 4, 1, 2]
}
df = pd.DataFrame(data)
# 绘制安德鲁斯曲线
andrews_curves(df, 'class')
plt.show()
616-6-3、结果输出
# 616、pandas.plotting.andrews_curves方法
见图1
图1:
617、pandas.plotting.autocorrelation_plot方法
617-1、语法
# 617、pandas.plotting.autocorrelation_plot方法
pandas.plotting.autocorrelation_plot(series, ax=None, **kwargs)
Autocorrelation plot for time series.
Parameters:
series
Series
The time series to visualize.
ax
Matplotlib axis object, optional
The matplotlib axis object to use.
**kwargs
Options to pass to matplotlib plotting method.
Returns:
matplotlib.axes.Axes.
617-2、参数
617-2-1、series(必须):series,输入的pandas Series,通常是时间序列数据,表示要分析的数据。
617-2-2、ax(可选,默认值为None):matplotlib.axes.Axes,如果提供,图形将绘制在指定的Axes上,如果未提供,将创建新的图形。
617-2-3、**kwargs(可选):其他关键字参数,可以传递给matplotlib的plot函数,以定制线条样式、颜色、标题等属性。
617-3、功能
绘制自相关图,显示时间序列数据中数据点与不同滞后值之间的相关性,自相关图有助于识别时间序列的季节性和趋势性,可以用于模型的选择和调整,特别是在ARIMA等模型中。
617-4、返回值
返回一个matplotlib.axes.Axes对象,如果指定了ax,则返回的是传入的Axes对象;如果没有指定,则返回创建的新的Axes对象。
617-5、说明
无
617-6、用法
617-6-1、数据准备
无
617-6-2、代码示例
# 617、pandas.plotting.autocorrelation_plot方法
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建示例时间序列数据
np.random.seed(0)
data = pd.Series(np.random.randn(100).cumsum())
# 绘制自相关图
pd.plotting.autocorrelation_plot(data)
plt.show()
617-6-3、结果输出
# 617、pandas.plotting.autocorrelation_plot方法
见图2
图2:
618、pandas.plotting.bootstrap_plot方法
618-1、语法
# 618、pandas.plotting.bootstrap_plot方法
pandas.plotting.bootstrap_plot(series, fig=None, size=50, samples=500, **kwds)
Bootstrap plot on mean, median and mid-range statistics.
The bootstrap plot is used to estimate the uncertainty of a statistic by relying on random sampling with replacement [1]. This function will generate bootstrapping plots for mean, median and mid-range statistics for the given number of samples of the given size.
[1]
“Bootstrapping (statistics)” in https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29
Parameters:
series
pandas.Series
Series from where to get the samplings for the bootstrapping.
fig
matplotlib.figure.Figure, default None
If given, it will use the fig reference for plotting instead of creating a new one with default parameters.
size
int, default 50
Number of data points to consider during each sampling. It must be less than or equal to the length of the series.
samples
int, default 500
Number of times the bootstrap procedure is performed.
**kwds
Options to pass to matplotlib plotting method.
Returns:
matplotlib.figure.Figure
Matplotlib figure.
618-2、参数
618-2-1、series(必须):series,表示输入的pandas Series,要进行自助法抽样的数据。
618-2-2、fig(可选,默认值为None):matplotlib.figure.Figure,如果提供,将在指定的图表上绘制;如果没有提供,将生成一个新的图表。
618-2-3、size(可选,默认值为50):整数,每次抽样的样本大小,即每次随机选择的观测值数量。
618-2-4、samples(可选,默认值为500):整数,自助法抽样的次数,表示要生成多少个样本。
618-2-5、**kwds(可选):其他关键字参数,可以传递给matplotlib的绘图函数以定制图表样式,如颜色、线型等。
618-3、功能
展示通过自助法生成的样本的分布,可以用来理解原始数据的估计值的稳健性和不确定性,通过可视化多个样本的统计量(例如均值),用户可以获取对该统计量的置信区间的直观理解。
618-4、返回值
返回一个matplotlib.axes.Axes对象,如果指定了fig,则返回的是该图表对象;如果没有指定,则返回创建的新图表对象。
618-5、说明
无
618-6、用法
618-6-1、数据准备
无
618-6-2、代码示例
# 618、pandas.plotting.bootstrap_plot方法
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建示例数据
np.random.seed(0)
data = pd.Series(np.random.randn(100).cumsum())
# 绘制自助法置信区间图
pd.plotting.bootstrap_plot(data, size=30, samples=200)
plt.title("Bootstrap Plot")
plt.xlabel("Sample Number")
plt.ylabel("Value")
plt.show()
618-6-3、结果输出
# 618、pandas.plotting.bootstrap_plot方法
见图3
图3:
619、pandas.plotting.boxplot方法
619-1、语法
# 619、pandas.plotting.boxplot方法
pandas.plotting.boxplot(data, column=None, by=None, ax=None, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, **kwargs)
Make a box plot from DataFrame columns.
Make a box-and-whisker plot from DataFrame columns, optionally grouped by some other columns. A box plot is a method for graphically depicting groups of numerical data through their quartiles. The box extends from the Q1 to Q3 quartile values of the data, with a line at the median (Q2). The whiskers extend from the edges of box to show the range of the data. By default, they extend no more than 1.5 * IQR (IQR = Q3 - Q1) from the edges of the box, ending at the farthest data point within that interval. Outliers are plotted as separate dots.
For further details see Wikipedia’s entry for boxplot.
Parameters:
dataDataFrame
The data to visualize.
columnstr or list of str, optional
Column name or list of names, or vector. Can be any valid input to pandas.DataFrame.groupby().
bystr or array-like, optional
Column in the DataFrame to pandas.DataFrame.groupby(). One box-plot will be done per value of columns in by.
axobject of class matplotlib.axes.Axes, optional
The matplotlib axes to be used by boxplot.
fontsizefloat or str
Tick label font size in points or as a string (e.g., large).
rotfloat, default 0
The rotation angle of labels (in degrees) with respect to the screen coordinate system.
gridbool, default True
Setting this to True will show the grid.
figsizeA tuple (width, height) in inches
The size of the figure to create in matplotlib.
layouttuple (rows, columns), optional
For example, (3, 5) will display the subplots using 3 rows and 5 columns, starting from the top-left.
return_type{‘axes’, ‘dict’, ‘both’} or None, default ‘axes’
The kind of object to return. The default is axes.
‘axes’ returns the matplotlib axes the boxplot is drawn on.
‘dict’ returns a dictionary whose values are the matplotlib Lines of the boxplot.
‘both’ returns a namedtuple with the axes and dict.
when grouping with by, a Series mapping columns to return_type is returned.
If return_type is None, a NumPy array of axes with the same shape as layout is returned.
**kwargs
All other plotting keyword arguments to be passed to matplotlib.pyplot.boxplot().
Returns:
result
See Notes.
619-2、参数
619-2-1、data(必须):DataFrame或Series,表示输入的数据集,包含要绘制箱线图的数据。
619-2-2、column(可选,默认值为None):字符串或字符串列表,指定要使用的列名,如果未指定且数据为DataFrame,则默认绘制所有数值型列。
619-2-3、by(可选,默认值为None):字符串或字符串列表,按指定的列进行分组,箱线图将绘制每个组的分布。
619-2-4、ax(可选,默认值为None):matplotlib.axes.Axes,如果提供,将在指定的坐标轴上绘制图形;如果未提供,将生成新的坐标轴。
619-2-5、fontsize(可选,默认值为None):整数或浮点数,用于设置轴标签和标题的字体大小。
619-2-6、rot(可选,默认值为0):整数,设置x轴刻度标签的旋转角度,以便于阅读。
619-2-7、grid(可选,默认值为True):布尔值,指定是否在图形上添加网格线。
619-2-8、figsize(可选,默认值为None):元组,设置图形的宽和高,格式为(width, height)。
619-2-9、layout(可选,默认值为None):元组,指定子图的布局,格式为(rows, columns)。
619-2-10、return_type(可选,默认值为None):字符串,如果设置为'axes',则返回绘制的坐标轴对象;如果设置为'data',则返回数据源。
619-2-11、**kwargs(可选):其他关键字参数,可以传递给matplotlib的绘图函数以定制图表样式,如颜色、边框等。
619-3、功能
用于绘制箱线图(Box Plot),主要功能包括:
- 可视化数据的分布情况,通过箱体展示数据的四分位数。
- 显示异常值,通常在箱体外的点。
- 通过分组绘制,比较不同组间数据的分布差异。
619-4、返回值
返回一个matplotlib.axes.Axes对象(如果指定了ax)或生成的新轴对象,用户可以利用这个对象进行进一步的自定义和操作。
619-5、说明
无
619-6、用法
619-6-1、数据准备
无
619-6-2、代码示例
# 619、pandas.plotting.boxplot方法
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建示例数据
np.random.seed(0)
data = pd.DataFrame({
'A': np.random.normal(size=100),
'B': np.random.normal(loc=1, size=100),
'C': np.random.normal(loc=2, size=100),
'Category': ['Group1'] * 50 + ['Group2'] * 50
})
# 绘制箱线图
data.boxplot(column=['A', 'B', 'C'], by='Category', grid=True, figsize=(10, 6))
plt.title('Boxplot by Category')
plt.suptitle('') # 去掉默认的超级标题
plt.xlabel('Category')
plt.ylabel('Values')
plt.show()
619-6-3、结果输出
# 619、pandas.plotting.boxplot方法
见图4
图4:
620、pandas.plotting.deregister_matplotlib_converters方法
620-1、语法
# 620、pandas.plotting.deregister_matplotlib_converters方法
pandas.plotting.deregister_matplotlib_converters()
Remove pandas formatters and converters.
Removes the custom converters added by register(). This attempts to set the state of the registry back to the state before pandas registered its own units. Converters for pandas’ own types like Timestamp and Period are removed completely. Converters for types pandas overwrites, like datetime.datetime, are restored to their original value.
620-2、参数
无
620-3、功能
- 解除自动转换:当使用pandas对时间序列数据进行绘图时,pandas默认会注册一些时间序列的转换器到matplotlib,以便处理datetime类型的数据。调用此函数后,pandas将不再注册这些时间序列转换器,可能会影响数据的显示和处理。
- 提高性能:如果在某些情况下你知道不会使用时间序列数据,解除转换器可能会提高绘图的性能。
620-4、返回值
该函数没有返回值,执行时只是确保不再将pandas的时间序列转换器注册到matplotlib的环境中。
620-5、说明
如果你在绘图中使用了非时间序列数据,且希望改善绘图性能或避免不必要的转换,也许可以在特定场景中使用此函数。
620-6、用法
620-6-1、数据准备
无
620-6-2、代码示例
# 620、pandas.plotting.deregister_matplotlib_converters方法
import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import deregister_matplotlib_converters
# 解除时间序列转换器的注册
deregister_matplotlib_converters()
# 创建一个简单的时间序列数据
date_rng = pd.date_range(start='2024-01-01', end='2024-01-10', freq='D')
data = pd.DataFrame(date_rng, columns=['date'])
data['data'] = pd.Series(range(1, len(data) + 1))
# 设置日期为索引
data.set_index('date', inplace=True)
# 绘图
plt.figure(figsize=(10, 5))
plt.plot(data.index, data['data'])
plt.title('Sample Plot without Time Series Converter')
plt.xlabel('Date')
plt.ylabel('Value')
plt.grid()
# 设置X轴标签倾斜45°
plt.xticks(rotation=30)
# 显示图表
plt.tight_layout() # 调整布局以适应标签
plt.show()
620-6-3、结果输出
# 620、pandas.plotting.deregister_matplotlib_converters方法
见图5
图5: