如何从matplotlib图中删除或更改文本?

时间:2018-10-31 21:07:10

标签: pandas matplotlib

我有一个条形图正在返回给我(我可以访问AxesSubplot对象),该条形图上已经有一些标签。问题是它们难以辨认,我想放大它们(或清除并重置它们)。以下面的代码为例:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'a':['red','green','blue'], 'b':[4,8,12]})
plot = df.plot(kind='barh')

for i in plot.patches:
    plot.text(i.get_width()+.01, i.get_y()+.38, str(i.get_width()), fontsize=31)

这会生成一个漂亮的条形图,条形图上带有标签。但是可以说我想删除或更改这些标签,怎么办?

1 个答案:

答案 0 :(得分:4)

您可以使用PyTuple_GET_SIZE(args)访问文本对象。在您的示例中,您得到:

Py_None

您可以循环删除它们:

plot.texts

或以类似方式更改属性(例如,字体大小):

>>> plot.texts
[Text(4.01,0.13,'4'), Text(8.01,1.13,'8'), Text(12.01,2.13,'12')]