[英]How to prevent pandas.Dataframe.hist() from creating subplots with superimposed data?
我正在尝试相对于第三列显示两个数据框列。 这是我的代码的样子:
1 import pandas as pd
2 import matplotlib.pyplot as plt
3
4 col1=[1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8]
5 col2=[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2]
6 col3=[1,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75]
7
8 myDF = pd.DataFrame({'col1': col1, 'col2': col2, 'col3':col3})
9
10 myDF.hist(['col3','col3'], weights=[myDF.col1,myDF.col2])
11
12 plt.savefig('myDF.png', format='png')
这是输出:
我试着强加一个子情节
fig, ax = plt.subplots(figsize = (1,1))
myDF.hist(['col3','col3'], weights=[myDF.col1,myDF.col2], ax=ax)
但它在运行时被覆盖。 任何想法我怎么能得到一个单一的情节?
编辑:以下工作
x = [list(myDF.col3), list(myDF.col3)]
plt.hist(x, weights=[myDF.col1,myDF.col2])
似乎是 pandas hist() 函数的问题(?)
我不能以干净的方式。 您可以尝试以下操作:
import pandas as pd
import matplotlib.pyplot as plt
col1=[1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8]
col2=[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2]
col3=[1,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75]
myDF = pd.DataFrame({'col1': col1, 'col2': col2, 'col3':col3})
ax = myDF.hist(column='col3', weights=[myDF.col1], align='mid', rwidth=0.8)
myDF.hist(column='col3', weights=[myDF.col2], ax=ax, align='mid', rwidth=0.8, alpha=0.8)
您可以尝试使用条形对齐(左,中或右)和条形rwidth
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.