我最常用的六个数据可视化工具,强烈推荐

大数据 数据可视化
今天给大家分享机器学习中用于数据可视化的 6 个 Python 库。

1.Matplotlib

Matplotlib 是一个用于在 Python 中创建数据可视化的库,常用于绘制图表、图形。

它提供了一个类似 MATLAB 的接口,方便用户快速绘制各种静态、动态和交互式的图表。

import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.arange(10)  # X轴数据
y = np.random.random(10)  # Y轴数据,生成10个随机数

# 创建图形
plt.figure(figsize=(10, 5))

# 绘制折线图
plt.plot(x, y, label='Random data')

# 添加标题和标签
plt.title('Simple Line Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

# 显示图例
plt.legend()

# 显示图形
plt.show()

2.Seaborn

Seaborn 是一个基于 Matplotlib 的数据可视化库,它提供了更高级的接口,使得绘制更加吸引人且富有信息的统计图形变得更简单。

import seaborn as sns
import matplotlib.pyplot as plt

# 创建示例数据
data = {'Category': ['A', 'B', 'C', 'D'],
        'Values': [10, 15, 7, 10]}

# 转换为 DataFrame
import pandas as pd
df = pd.DataFrame(data)

# 创建柱状图
sns.barplot(x='Category', y='Values', data=df,palette=sns.color_palette("hls", 4))

# 添加标题
plt.title('Bar Plot of Categories')

# 显示图形
plt.show()

3. Plotly Express

Plotly Express 是 Plotly 的一个高级封装库,专门用于创建交互式图表。

它提供了一个简单的语法,能够快速地生成复杂的图表,包括线图、散点图、柱状图、饼图等。

Plotly Express 的优点在于其强大的交互功能,如悬停提示、缩放和滑动条等,这使得它非常适合探索性数据分析和呈现动态数据。

import plotly.express as px

# 创建示例数据
data = {'Category': ['A', 'B', 'C', 'D'],
        'Values': [10, 15, 7, 10]}

# 转换为 DataFrame
import pandas as pd
df = pd.DataFrame(data)

# 创建饼图
fig = px.pie(df, names='Category', values='Values', title='Distribution of Categories')

# 显示图形
fig.show()

4.Pygal

Pygal 是一个用于创建 SVG (Scalable Vector Graphics) 图表的 Python 库。

它设计轻巧,易于使用,特别适合 web 应用的动态图表。

Pygal 提供了各种图表类型,如条形图、线形图、饼图、雷达图和散点图等。

它的主要优点之一是可以直接在浏览器中查看动态可缩放的图形,这对于需要在 web 页面上直接嵌入图形的应用来说非常有用。

import pygal

# 创建散点图对象
scatter_chart = pygal.XY(stroke=False)

# 图表标题
scatter_chart.title = 'Sample Scatter Plot'

# 添加数据点
scatter_chart.add('A', [(1, 2), (4, 7), (5, 3)])
scatter_chart.add('B', [(2, 3), (3, 12), (6, 8)])

# 保存图表到文件,也可以使用 render_to_file('scatter_chart.svg') 方法
scatter_chart.render_to_file('scatter_chart.svg')

5.Altair

Altair 是一个声明式的统计可视化库。

它建立在强大的 Vega-Lite 可视化语法之上,使得创建复杂和美观的图表变得简单而直观。

Altair 的主要优点是其声明式语法:你只需描述图表的各个组成部分,如数据和编码,而无需担心底层实现细节。

这使得 Altair 非常适合于数据探索和快速可视化。

import altair as alt
from vega_datasets import data

# 加载鸢尾花数据集
iris = data.iris()

# 使用melt将数据从宽格式转换为长格式
iris_long = iris.melt(id_vars='species', var_name='Measurement_type', value_name='value')

# 创建密度图
density_plot = alt.Chart(iris_long).transform_density(
    'value',
    as_=['value', 'density'],
    groupby=['Measurement_type']
).mark_area(opacity=0.5).encode(
    alt.X('value:Q'),
    alt.Y('density:Q'),
    alt.Color('Measurement_type:N')
).properties(
    title='Density Plot'
)

density_plot

6.Bokeh

Bokeh 是一个用于创建交互式和可视化图表的 Python 库,特别适合在浏览器中展示。

它能够处理大型数据集或实时数据集,支持快速绘制,并且可以轻松地嵌入到 HTML 页面中。

from bokeh.plotting import figure, show, output_file
from bokeh.models import ColumnDataSource
import pandas as pd

# 准备数据
data = pd.DataFrame({
    'x': [1, 2, 3, 4, 5],
    'y1': [2, 5, 8, 2, 7],
    'y2': [3, 5, 7, 8, 6]
})

# 创建一个绘图
p = figure(width=600, height=400)

# 添加面积图,使用鲜艳的颜色
p.varea_stack(['y1', 'y2'], x='x', color=("blue", "orange"), source=data)

# 显示结果
output_file("area_chart.html")
show(p)

责任编辑:华轩 来源: 程序员学长
相关推荐

2022-05-16 09:20:00

开发工具

2017-07-25 13:42:00

大数据可视化工具

2022-01-17 11:09:46

数据可视化工具开发

2022-05-07 09:02:27

数据可视化工具库

2022-11-15 15:14:05

2019-12-23 14:17:46

数据可视化工具

2011-04-21 14:42:46

CSSHTML工具

2021-04-11 09:51:25

Redis可视化工具

2011-07-06 13:38:42

Web

2019-09-27 09:12:18

开源数据可视化大数据

2023-12-22 14:09:08

AI文本编辑器AiEditor

2019-11-25 15:54:54

数据可视化可视化工具开发

2022-02-21 00:05:25

深度学习可视化工具

2021-04-14 16:20:39

可视化大数据工具

2016-08-21 15:38:31

大数据可视化工具

2019-06-23 15:44:24

Matplotlib可视化图表

2021-01-28 06:10:00

数据可视化工具大数据

2012-02-03 15:13:27

JavaScript

2011-05-16 08:37:56

JavaScript库

2015-03-05 14:24:00

大数据分析大数据大数据分析工具
点赞
收藏

51CTO技术栈公众号