无法在 Python 绘图中添加 x 和 y 标题。
无法在 Python 绘图中添加 x 和 y 标题。
假设我有以下使用pandas绘制非常简单内容的代码:
import pandas as pd values = [[1, 2], [2, 5]] df2 = pd.DataFrame(values, columns=['Type A', 'Type B'], index=['Index 1', 'Index 2']) df2.plot(lw=2, colormap='jet', marker='.', markersize=10, title='按类别划分的视频流失')
我如何在保留使用特定colormap的能力的同时轻松设置x和y标签?我注意到pandas DataFrame的`plot()`包装不接受与此特定的参数。
问题的原因是在使用Python绘图库matplotlib时,尝试给图表添加x和y轴的标题时出错。解决方法是在调用df.plot()函数之后,使用plt.xlabel()和plt.ylabel()函数来添加x和y轴的标题。
具体的代码如下:
import matplotlib.pyplot as plt import pandas as pd plt.figure() values = [[1, 2], [2, 5]] df2 = pd.DataFrame(values, columns=['Type A', 'Type B'], index=['Index 1', 'Index 2']) df2.plot(lw=2, colormap='jet', marker='.', markersize=10, title='Video streaming dropout by category') plt.xlabel('xlabel') plt.ylabel('ylabel') plt.show()
需要注意的是,要将字符串'xlabel'和'ylabel'替换为所需的实际标题。另外,需要确保在调用df.plot()函数之后再调用plt.xlabel()和plt.ylabel()函数,因为如果在之前调用这些函数,会在同一个图表上添加两个图形。对于plt.title()函数也是同样的情况。
在这段代码中,我们使用了`df.plot()`函数来绘制一个图表,并且将返回的`matplotlib.axes.AxesSubplot`对象赋值给了变量`ax`。然后,我们通过`ax.set_xlabel()`和`ax.set_ylabel()`方法来设置x轴和y轴的标签。
另一种更简洁的方式是使用`ax.set(xlabel="x label", ylabel="y label")`来同时设置x轴和y轴的标签。
另外,如果索引有名称,那么索引的名称会自动成为x轴的标签。所以我们也可以通过设置`df2.index.name = 'x label'`来设置x轴的标签。
根据这段代码的描述,我们可以得出出现问题的原因是`set_xlabel`和`set_ylabel`在pandas版本0.25.1中不起作用。但是,`ax.set(xlabel="x label", ylabel="y label")`方法可以成功设置标签。
因此,解决这个问题的方法是使用`ax.set(xlabel="x label", ylabel="y label")`来设置标签,而不是使用`set_xlabel`和`set_ylabel`方法。
最终,我们可以得出以下结论:
1. 使用`df.plot()`函数绘制图表时,返回的是一个`matplotlib.axes.AxesSubplot`对象。
2. 可以通过`ax.set_xlabel()`和`ax.set_ylabel()`方法来设置x轴和y轴的标签。
3. 也可以通过`ax.set(xlabel="x label", ylabel="y label")`来同时设置x轴和y轴的标签。
4. 如果索引有名称,那么索引的名称会自动成为x轴的标签。
5. 在pandas版本0.25.1中,`set_xlabel`和`set_ylabel`方法可能不起作用,但是`ax.set(xlabel="x label", ylabel="y label")`方法可以成功设置标签。
希望本文能够帮助您解决在Python绘图中无法设置x轴和y轴标签的问题。