Python 复制pandas.DataFrame.plot的默认绘图行为
作为熊猫的常客,我经常想绘制我的数据 使用Python 复制pandas.DataFrame.plot的默认绘图行为,python,pandas,matplotlib,Python,Pandas,Matplotlib,作为熊猫的常客,我经常想绘制我的数据 使用df.plot()非常方便,我喜欢它给我的布局 我经常遇到这样的问题:当我向其他人显示生成的图形时,他们喜欢它,但希望进行一些微小的更改 这常常让我想在matplotlib中重新创建精确的图形,这会变成几百行代码,但它的工作方式与df.plot() 有没有办法从pandas获取默认打印行为的设置,并在打印中添加一些内容 例如: df = pd.DataFrame([1,2,3,6],index=[15,16,17,18], columns=['value
df.plot()
非常方便,我喜欢它给我的布局
我经常遇到这样的问题:当我向其他人显示生成的图形时,他们喜欢它,但希望进行一些微小的更改
这常常让我想在matplotlib
中重新创建精确的图形,这会变成几百行代码,但它的工作方式与df.plot()
有没有办法从pandas获取默认打印行为的设置,并在打印中添加一些内容
例如:
df = pd.DataFrame([1,2,3,6],index=[15,16,17,18], columns=['values'])
df.plot(kind='bar')
这段代码构成了一个漂亮的图形:
试图用matplotlib重新创建这个过程,只需花几个小时的时间浏览文档,但仍然没有找到正确的解决方案
更不用说它有多少行配置代码了
import matplotlib.pyplot as plt
import matplotlib.ticker as plticker
import matplotlib.patches as mpatches
fig, ax1 = plt.subplots()
ax1.bar(df.index, df['values'], 0.4, align='center')
loc = plticker.MultipleLocator(base=1.0)
ax1.xaxis.set_major_locator(loc)
ax1.xaxis.set_ticklabels(["","15", "16", "17", "18"])
plt.show()
TLDR;
如何轻松复制并扩展
df.plot()
的行为,而不必手动重新创建所有内容?您可以使用pandas进行绘图,使用ax=df.plot()
访问matplotlib轴对象,然后进一步自定义它。或者,fig,ax=plt.subplot();图(ax=ax);斧头
您可以使用pandas进行绘图,使用ax=df.plot()
访问matplotlibAxes
对象,然后从那里进一步自定义它。或者,fig,ax=plt.subplot();图(ax=ax);斧头代码>