欢迎访问宙启技术站
智能推送

使用Python进行数据可视化的示例

发布时间:2023-12-04 14:34:23

Python提供了强大的数据可视化库,比如matplotlib、seaborn和plotly等。下面是一个使用matplotlib和seaborn库进行数据可视化的示例。

首先,我们需要导入所需的库和数据。假设我们有一个包含学生成绩的数据集,其中包括学生的姓名、数学成绩和语文成绩。

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# 导入数据
data = pd.read_csv('grades.csv')

接下来,我们可以使用matplotlib绘制简单的折线图、散点图和饼图等。

# 折线图
plt.plot(data['姓名'], data['数学成绩'], label='数学成绩')
plt.plot(data['姓名'], data['语文成绩'], label='语文成绩')
plt.xlabel('学生姓名')
plt.ylabel('成绩')
plt.title('学生成绩')
plt.legend()
plt.show()

# 散点图
plt.scatter(data['数学成绩'], data['语文成绩'])
plt.xlabel('数学成绩')
plt.ylabel('语文成绩')
plt.title('学生成绩')
plt.show()

# 饼图
sizes = [data[data['数学成绩'] >= 60].shape[0], data[data['数学成绩'] < 60].shape[0]]
labels = ['及格', '不及格']
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('数学成绩及格率')
plt.show()

以上是使用matplotlib绘制学生成绩的折线图、散点图和饼图的例子。接下来,我们可以使用seaborn库来进一步改进和定制图形。

# 折线图
sns.lineplot(x='姓名', y='数学成绩', data=data, label='数学成绩')
sns.lineplot(x='姓名', y='语文成绩', data=data, label='语文成绩')
plt.xlabel('学生姓名')
plt.ylabel('成绩')
plt.title('学生成绩')
plt.legend()
plt.show()

# 散点图
sns.scatterplot(x='数学成绩', y='语文成绩', data=data)
plt.xlabel('数学成绩')
plt.ylabel('语文成绩')
plt.title('学生成绩')
plt.show()

# 饼图
passing_grades = data[data['数学成绩'] >= 60].shape[0]
failing_grades = data[data['数学成绩'] < 60].shape[0]
sns.barplot(x=['及格', '不及格'], y=[passing_grades, failing_grades])
plt.xlabel('成绩')
plt.ylabel('人数')
plt.title('数学成绩及格率')
plt.show()

以上是使用seaborn改进的例子,其中我们使用了lineplot绘制了更平滑的折线图,使用scatterplot绘制了更美观的散点图,并且使用barplot绘制了更清晰的饼图。

综上,Python提供了丰富的数据可视化库,我们可以根据需要选择合适的库进行数据可视化,并通过定制图形来展示数据的特点和趋势。以上是一个简单的示例,但是Python还有更丰富的功能和选项来满足不同的需求。