图形绘制库matplotlib

2024-10-03 00:27:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的大学做我的第一个大数据项目。我的数据集是:https://www.kaggle.com/carolzhangdc/imdb-5000-movie-dataset

在这一部分我想:

  • 只取该列中最好的20个变量(IMDB得分) 和总量)
  • 把一切都画出来看看图表。你知道吗

通过这段代码,我可以看到如graph所示的图形

Top20 = newmovieDef[['IMDB Score', 'Gross']].sort_values('IMDB Score', ascending=False).nlargest(20, 'IMDB Score')
newmovieDef[['IMDB Score', 'Gross']].sort_values('IMDB Score', ascending=False).nlargest(20, 'IMDB Score')
#visualizing top 20 in plot
plt.figure(figsize=(7,7))
x = Top20["IMDB Score"]
y = Top20["Gross"]
plt.bar(x, y, color="purple")
plt.show()

但如果我写下这个:

#GROSS-DURATION ---PROBLEMA GRAFICO
Top20 = newmovieDef[['Gross', 'Duration']].sort_values('Gross', ascending=False).nlargest(20, 'Gross')
newmovieDef[['Gross', 'Duration']].sort_values('Gross', ascending=False).nlargest(20, 'Gross')
#visualizing top 20 in plot
plt.figure(figsize=(7,7))
x = Top20["Gross"]
y = Top20["Duration"]
plt.bar(x, y, color="green")
plt.show()

它给了我一个空白图,如empty graph


Tags: 数据falsetoppltsortimdbscorevalues
1条回答
网友
1楼 · 发布于 2024-10-03 00:27:05

GrossDuration是连续变量,因此在xaxis上有Gross和yaxis上有Duration条形图不是可视化的正确选择。为了查看两个连续变量之间的关系(在本例中为GrossDuration),通常使用散点(X-Y)图。你知道吗

this source,“条形图用于比较不同组之间的情况或跟踪随时间的变化。”这里的关键字是,意思是离散变量(在Python中通常表示为字符串)。你知道吗

来自同一个来源,“X-Y图用于确定两个不同事物之间的关系。x轴用于测量一个事件(或变量),y轴用于测量另一个。”

您可以修改代码以显示散点(X-Y)图,如下所示:

plt.figure(figsize=(7,7))
x = Top20["Gross"]
y = Top20["Duration"]
# Scatter plot
plt.plot(x, y, color="green")
plt.show()

如果你真的想要条形图,那么我建议binning your continuous data。这将连续变量分成离散的组,然后可以在条形图上显示,尽管这仍然不是可视化的最佳选择。你知道吗

This book是用于数据可视化的特殊(免费)资源。它是用R编程语言编写的,但一般原则仍然适用。你知道吗

相关问题 更多 >