Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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使用双轴和不均匀索引创建不正确的绘图 请考虑下面脚本生成的两个图。线图在图2中的位置不正确 导入matplotlib.pyplot作为plt 将numpy作为np导入 作为pd进口熊猫 np.random.seed(0x5eed) arr1=np.random.randint(5,10,4) arr2=np.random.randint(15,20,4) idx=[1,3,4,5] kwargs={'marker':'o','color':'C1'} 图1,ax11=plt.subplot() ax12=ax11.twinx() ax11.bar(idx,arr1) ax12.绘图(idx、arr2、**kwargs) 图1.savefig('fig1.png')) df=pd.DataFrame({'foo':arr1,'bar':arr2},index=idx) 图2,ax21=plt.子批次() ax22=ax21.twinx() df['foo'].plot.bar(ax=ax21) df['bar'].绘图线(ax=ax22,**kwargs) 图2.savefig('fig2.png'))_Python_Pandas_Matplotlib - Fatal编程技术网

Python pandas.DataFrame.plot使用双轴和不均匀索引创建不正确的绘图 请考虑下面脚本生成的两个图。线图在图2中的位置不正确 导入matplotlib.pyplot作为plt 将numpy作为np导入 作为pd进口熊猫 np.random.seed(0x5eed) arr1=np.random.randint(5,10,4) arr2=np.random.randint(15,20,4) idx=[1,3,4,5] kwargs={'marker':'o','color':'C1'} 图1,ax11=plt.subplot() ax12=ax11.twinx() ax11.bar(idx,arr1) ax12.绘图(idx、arr2、**kwargs) 图1.savefig('fig1.png')) df=pd.DataFrame({'foo':arr1,'bar':arr2},index=idx) 图2,ax21=plt.子批次() ax22=ax21.twinx() df['foo'].plot.bar(ax=ax21) df['bar'].绘图线(ax=ax22,**kwargs) 图2.savefig('fig2.png'))

Python pandas.DataFrame.plot使用双轴和不均匀索引创建不正确的绘图 请考虑下面脚本生成的两个图。线图在图2中的位置不正确 导入matplotlib.pyplot作为plt 将numpy作为np导入 作为pd进口熊猫 np.random.seed(0x5eed) arr1=np.random.randint(5,10,4) arr2=np.random.randint(15,20,4) idx=[1,3,4,5] kwargs={'marker':'o','color':'C1'} 图1,ax11=plt.subplot() ax12=ax11.twinx() ax11.bar(idx,arr1) ax12.绘图(idx、arr2、**kwargs) 图1.savefig('fig1.png')) df=pd.DataFrame({'foo':arr1,'bar':arr2},index=idx) 图2,ax21=plt.子批次() ax22=ax21.twinx() df['foo'].plot.bar(ax=ax21) df['bar'].绘图线(ax=ax22,**kwargs) 图2.savefig('fig2.png')),python,pandas,matplotlib,Python,Pandas,Matplotlib,图1(预期): 图2(意外): 经过一些调查,我发现以下条件重现了这个问题 同时使用条形图和折线图(fig2如果两个图都是折线图则正确) 索引不均匀(idx=range(4)解决了这个问题) 我发现了,但我不是这样df.index属于Int64Index类。这是一种预期的行为还是我应该向问题跟踪者报告的事情?条形图是分类的,因此条形图始终位于位置0,1,。。。N-1.@ImportanceOfBeingErnest解释了问题和正在旋转的xtick标签,谢谢。是否不可能将其数字化?在我的实

图1
(预期):

图2
(意外):

经过一些调查,我发现以下条件重现了这个问题

  • 同时使用条形图和折线图(
    fig2
    如果两个图都是折线图则正确)
  • 索引不均匀(
    idx=range(4)
    解决了这个问题)

我发现了,但我不是这样
df.index
属于
Int64Index
类。这是一种预期的行为还是我应该向问题跟踪者报告的事情?

条形图是分类的,因此条形图始终位于位置0,1,。。。N-1.@ImportanceOfBeingErnest解释了问题和正在旋转的xtick标签,谢谢。是否不可能将其数字化?在我的实际案例中,数据帧有许多列可以绘制为条形图,因此非常感谢pandas解决方案/解决方案(我自己也尝试找到一种方法)。是的,使用matplotlib图表代替<代码>轴条形图(…)和
ax.plot(…)