Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 复制pandas.DataFrame.plot的默认绘图行为_Python_Pandas_Matplotlib - Fatal编程技术网

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()
访问matplotlib
Axes
对象,然后从那里进一步自定义它。或者,
fig,ax=plt.subplot();图(ax=ax);斧头