pandas 使用panda数据框创建matplotlib条形图

vc6uscn9  于 2023-02-11  发布在  其他
关注(0)|答案(1)|浏览(122)

这是我的pandasDF Dataframe 的一个例子。这是一个电影数据集。计数表示每个电影标题如何代表1。

| yearOfRelease |count|
| 1989          | 1   |
| 1990          | 1   |
| 1991          | 1   |
| 1992          | 1   |
| 1993          | 1   |

以前我的 Dataframe 是一个Spark Dataframe ,但我把它转换成Pandas Dataframe

pandasDF = movies_DF.toPandas()
pandasDF.head()

这是我现在的情节。

我正在努力实现一个像这样的情节。

这是我的代码:

x = list(pandasDF[pandasDF['yearOfRelease'] >= '1990']['yearOfRelease'])
import matplotlib.pyplot as plt
plt.figure()
pd.value_counts(x).plot.bar(title="number of movies by year of release ")

plt.xlabel("yearOfRelease")
plt.ylabel("numOfMovies")
plt.show()
8yparm6h

8yparm6h1#

您必须按索引(yearOfRelease)对值进行排序:

import matplotlib.pyplot as plt

sr = pandasDF.loc[pandasDF['yearOfRelease'] >= '1990', 'yearOfRelease'].astype(int)
ax = (sr.value_counts().sort_index()
        .plot.bar(title='number of movies by year of release',
                  xlabel='yearOfRelease', ylabel='numOfMovies',
                  rot=-90))
ax.xaxis.set_major_locator(ticker.MultipleLocator(2))
ax.yaxis.set_major_locator(ticker.MultipleLocator(500))
plt.tight_layout()
plt.show()

输出:

相关问题