Python 大熊猫的蟒蛇直方图
我正试图从这个数据集制作一个柱状图: 我想要一个这样的图表: 我写了这段代码:Python 大熊猫的蟒蛇直方图,python,pandas,matplotlib,pycharm,histogram,Python,Pandas,Matplotlib,Pycharm,Histogram,我正试图从这个数据集制作一个柱状图: 我想要一个这样的图表: 我写了这段代码: import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('Data_Istogramma.csv', sep=';') plt.hist(x =(data.iloc[0,1:6],data.iloc[1,1:6]),bins = 5,edgecolor = 'black',label =['80%','76.8%']) plt.
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('Data_Istogramma.csv', sep=';')
plt.hist(x =(data.iloc[0,1:6],data.iloc[1,1:6]),bins = 5,edgecolor = 'black',label =['80%','76.8%'])
plt.show()
运行后,我得到以下图表:
有人能帮我解决这个问题吗?你可以用它来实现这一点。您可以通过pip安装plotly
#sample df
import pandas as pd
df=pd.DataFrame({
'lp':[70,85],
'>850':[34,39],
'700-850':[38,39],
'425-700':[13,34],
'250-425':[16,2],
'<250':[25,10]
})
#reshape the df
df=df.melt(id_vars=['lp'])
#use plotly library
import plotly.graph_objects as go
fig = go.Figure(data=[
go.Bar(name='70', x=df[df['lp']==70]['variable'], y=df[df['lp']==70]['value']),
go.Bar(name='85', x=df[df['lp']==85]['variable'], y=df[df['lp']==85]['value']),
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
#示例df
作为pd进口熊猫
df=pd.DataFrame({
‘lp’:[70,85],
'>850':[34,39],
'700-850':[38,39],
'425-700':[13,34],
'250-425':[16,2],
“您可以使用来实现此目的。您可以通过pip install plotly
#sample df
import pandas as pd
df=pd.DataFrame({
'lp':[70,85],
'>850':[34,39],
'700-850':[38,39],
'425-700':[13,34],
'250-425':[16,2],
'<250':[25,10]
})
#reshape the df
df=df.melt(id_vars=['lp'])
#use plotly library
import plotly.graph_objects as go
fig = go.Figure(data=[
go.Bar(name='70', x=df[df['lp']==70]['variable'], y=df[df['lp']==70]['value']),
go.Bar(name='85', x=df[df['lp']==85]['variable'], y=df[df['lp']==85]['value']),
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
#示例df
作为pd进口熊猫
df=pd.DataFrame({
‘lp’:[70,85],
'>850':[34,39],
'700-850':[38,39],
'425-700':[13,34],
'250-425':[16,2],
“使用字典定义行,并将标题行作为索引:
import pandas as pd
import matplotlib.pyplot as plt
eighty = [47.83, 5.24, 18.74, 22.22, 34.92, 137.75]
seventy_six = [61.47, 6.18, 54.37, 3.22, 16.52, 156.38]
LP = [">850",
"850-700",
"700-425",
"425-250",
"<250",
"MTOT"
]
df = pd.DataFrame({'80': eighty,
'76.8': seventy_six},
index=LP)
ax = df.plot.bar(rot=0)
plt.show()
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
八十=[47.83,5.24,18.74,22.22,34.92,137.75]
七十六=[61.47,6.18,54.37,3.22,16.52,156.38]
LP=[“>850”,
"850-700",
"700-425",
"425-250",
使用字典定义行,并将标题行作为索引:
import pandas as pd
import matplotlib.pyplot as plt
eighty = [47.83, 5.24, 18.74, 22.22, 34.92, 137.75]
seventy_six = [61.47, 6.18, 54.37, 3.22, 16.52, 156.38]
LP = [">850",
"850-700",
"700-425",
"425-250",
"<250",
"MTOT"
]
df = pd.DataFrame({'80': eighty,
'76.8': seventy_six},
index=LP)
ax = df.plot.bar(rot=0)
plt.show()
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
八十=[47.83,5.24,18.74,22.22,34.92,137.75]
七十六=[61.47,6.18,54.37,3.22,16.52,156.38]
LP=[“>850”,
"850-700",
"700-425",
"425-250",
"请以原始格式提供数据,然后我可以加载它并尝试绘制历史图。由于您的数据已经包含频率聚合,您应该使用条形图来可视化它,而不是直方图功能。如果您提供微数据,直方图功能将为您进行装箱。这不是您想要的。请查看第二个这里的例子:@gustavrasmussenlp;>850;850-700;700-425;425-250;@PushkarNimkar谢谢!我来查一下out@MattiaMuracchioli谢谢,我现在用您的值更新了我的答案。请以原始格式提供数据,然后我可以加载数据并尝试绘制历史图。由于您的数据已经包含频率聚合,您应该使用条形图图表来可视化它,而不是直方图函数。如果您提供微数据,直方图函数会为您进行装箱。这不是您想要的。请查看第二个示例:@GustavRasmussen LP;>850;850-700;700-425;425-250;@PushkarNimkar谢谢!我会检查的out@MattiaMuracchioli谢谢,我现在用你的val更新了我的答案谢谢你!工作起来像个魔咒谢谢!工作起来像个魔咒