如何用Matplotlib绘制Pandas数据框架
数据可视化是任何分析中最重要的部分。Matplotlib是一个了不起的python库,可以用来绘制pandas数据框架。根据不同的要求,可以有不同的方式来生成一个图。
分类数据之间的比较。
条形图就是这样一个例子。要绘制一个条形图,将使用plot()函数。
语法:
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, *kwargs)
示例:
# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Name': ['John', 'Sammy', 'Joe'],
'Age': [45, 38, 90]
})
# plotting a bar graph
df.plot(x="Name", y="Age", kind="bar")
输出:
可视化连续的数据
直方图是代表数据的一个例子,它被划分为密切相关的区间。为此,我们将使用hist()函数。
语法:
matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype=’bar’, align=’mid’, orientation=’vertical’, rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)
示例:
# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Age': [45, 38, 90, 60, 40, 50, 2, 32, 8, 15, 27, 69, 73, 55]
})
# plotting a histogram
plt.hist(df["Age"])
plt.show()
输出:
用于数据分发
饼图是表示数据的一种很好的方式,它是一个整体的一部分。为了绘制饼图,将使用pie()函数。
语法:
matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)
示例:
# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Object': ['Bulb', 'Lamp', 'Table', 'Pen', 'Notebook'],
'Price': [45, 38, 90, 60, 40]
})
# plotting a pie chart
plt.pie(df["Price"], labels=df["Object"])
plt.show()
输出:
数据的依赖性
在一些情况下,要根据因果和非因果参数来解释数据,可以使用线图或散点图等图形。绘制折线图时,只需使用plot()函数即可,但要使散点图可视化,则需要使用scatter()。
语法:
matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None)
示例:
# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'X': [1, 2, 3, 4, 5],
'Y': [2, 4, 6, 10, 15]
})
# plotting a line graph
print("Line graph: ")
plt.plot(df["X"], df["Y"])
plt.show()
# plotting a scatter plot
print("Scatter Plot: ")
plt.scatter(df["X"], df["Y"])
plt.show()
输出: