Token导航 LogoToken导航TokenDH.com
Plotnine MCP Server logo
数据服务stdio官方级别未说明来源级核验

Plotnine MCP Server

MCP Server

一个基于plotnine的MCP服务器,通过自然语言和AI技术生成高质量的数据可视化图表,适用于数据分析和科研领域。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
数据可视化PythonClaude数据分析Claude DesktopClaudeCursorCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Fervoyush

提供方

Fervoyush

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

Plotnine MCP服务器

一个模型上下文协议(MCP)服务器,通过plotnine将ggplot2的图形语法引入Python,通过自然语言实现AI驱动的数据可视化。

使用plotnine对R心爱的ggplot2的Python实现,通过聊天创建出版物质量的统计图形。这个模块化的MCP服务器允许Claude和其他AI助手通过图形语法范式组合层来生成高度可定制的可视化。

特性

岩心可视化

  • 🎨 多层绘图:将多个几何图形组合在一个图中(散点+趋势线、箱线图+抖动等)
  • 图形语法:使用美学、几何、比例、主题、面和坐标来创作情节
  • 20+几何类型:点、线、条形图、直方图、箱线图、小提琴等
  • 多个数据源:从文件(CSV、JSON、Parquet、Excel)、URL或内联JSON加载数据
  • 多种输出格式:PNG、PDF、SVG,具有可配置的尺寸和DPI

智能功能(新增!)

  • 📋 9绘图模板:常见模式的预配置模板(时间序列、趋势分散、分布比较等)
  • 🤖 AI模板建议:分析数据并推荐适当的绘图类型
  • 🎨 21个调色板:色盲安全、科学、分类、公司、顺序和发散调色板
  • 📊 数据预览:在绘制综合摘要之前检查数据
  • 🎯 智能错误消息:模糊匹配建议更正列名、地理类型和主题中的拼写错误
  • 💾 配置导出/导入:将绘图配置保存为JSON文件并重复使用

数据操作(新增!)

  • 🔄 12数据转换:过滤器、group_summarize、排序、选择、重命名、变异、drop_na、fill_na、采样、唯一、滚动、枢轴
  • ⚡ 批处理:在一次操作中创建多个图
  • 🔗 连锁转型:按顺序应用多个转换

主题和定制

  • 灵活的主题:内置主题,具有广泛的自定义选项
  • 统计转换:添加平滑、合并、密度估计和摘要
  • 镶嵌面:使用换行或网格布局按分类变量拆分图

安装

1.克隆或下载此存储库

cd plotnine-mcp

2.安装依赖项

使用pip:

pip install -e .

要获得完整功能(拼花地板和Excel支持):

pip install -e ".[full]"

3.配置您的MCP客户端

查找安装路径

首先,找出 plotnine-mcp 已安装命令:

which plotnine-mcp

这将显示类似的内容 /path/to/python/bin/plotnine-mcp。在下面的配置中使用此完整路径。

克劳德桌面

将服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

视窗: %APPDATA%\Claude\claude_desktop_config.json

推荐(使用入口点):

{
  "mcpServers": {
    "plotnine": {
      "command": "/path/to/your/python/bin/plotnine-mcp",
      "args": []
    }
  }
}

替代方案(使用python-m):

{
  "mcpServers": {
    "plotnine": {
      "command": "python",
      "args": ["-m", "plotnine_mcp.server"]
    }
  }
}

如果在虚拟环境中安装,请替换为完整路径:

{
  "mcpServers": {
    "plotnine": {
      "command": "/path/to/venv/bin/plotnine-mcp",
      "args": []
    }
  }
}

光标

推荐方法: 通过配置 .cursor/mcp.json 在您的项目中:

{
  "mcpServers": {
    "plotnine": {
      "command": "/path/to/your/python/bin/plotnine-mcp",
      "args": []
    }
  }
}

备选方案: 通过打开命令选项板添加到光标全局设置(Cmd/Ctrl+Shift+P)并搜索“首选项:打开用户设置(JSON)”:

{
  "mcp.servers": {
    "plotnine": {
      "command": "/path/to/your/python/bin/plotnine-mcp",
      "args": []
    }
  }
}

使用python-m替代:

{
  "mcpServers": {
    "plotnine": {
      "command": "python",
      "args": ["-m", "plotnine_mcp.server"]
    }
  }
}

VSCode(带Cline/Roo-Cline)

添加到VSCode MCP设置文件中:

macOS/Linux: ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

视窗: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json

{
  "mcpServers": {
    "plotnine": {
      "command": "/path/to/your/python/bin/plotnine-mcp",
      "args": []
    }
  }
}

对于VSCode中的其他MCP客户端,请参阅其特定文档以了解MCP服务器配置。

4.重新启动应用程序

重新启动Claude Desktop、Cursor或VSCode以使更改生效。plotnine MCP服务器现在应该可用了!

用法

基础示例

Create a scatter plot from data.csv with x=age and y=height

高级示例

Create a line plot from sales_data.csv showing:
- x: date, y: revenue, color by region
- Use a minimal theme with figure size 12x6
- Add a smooth trend line
- Facet by product category
- Label the plot "Q4 Sales Performance"
- Save as PDF

可用工具(共11个)

核心工具

create_plot

创建具有完全自定义功能的plotnine可视化。

所需参数:

  • data_source:数据源配置
  • aes:美学映射(列名)
  • geomgeoms:几何规格

可选参数:

  • scales:标尺配置数组
  • theme:主题配置
  • facets:分面配置
  • labels:绘图标签(标题、x、y、标题、副标题)
  • coords:坐标系配置
  • stats:统计转换
  • transforms:数据转换(新增!)
  • output:输出配置(格式、大小、DPI、目录)

list_geom_types

列出所有20多种可用的几何图形类型及其说明。

数据工具(新增!)

预览数据

在创建绘图之前预览和检查数据。返回数据集形状、列类型、第一行、统计信息和缺失值。

参数:

  • data_source:数据源配置
  • rows:要预览的行数(默认值:5)

模板工具(新增!)

list_plot_templates

列出所有9个可用的绘图模板及其说明:

  • 时间序列
  • 分散趋势
  • 分布_比较
  • 类别_细分
  • 相关地图
  • boxplot比较
  • 多线
  • 密度直方图
  • 之前_之后

create_plot_from_template

使用预定义样板创建绘图。只需提供数据和美学;模板处理其余部分。

参数:

  • template_name:模板的名称
  • data_source:数据源配置
  • aes:美学映射
  • labels:可选标签
  • output:可选输出配置
  • overrides:模板设置的可选替代

suggest_plot_templates

分析您的数据,并根据列类型和可选目标获得基于AI的绘图建议。

参数:

  • data_source:要分析的数据源
  • goal:可选目标(例如,“比较分布”、“显示趋势”)

样式工具(新增!)

list_themes

列出所有可用的打印样式主题,包括描述和自定义选项。

列表_颜色_字体

列出6个类别的21个调色板:

  • 色盲安全(3个调色板)
  • 科学(4个调色板)
  • 分类(4个调色板)
  • 公司(3个调色板)
  • 顺序(4个调色板)
  • 多样化(3个调色板)

参数:

  • category:可选类别筛选器

配置工具

export_plot_config

将绘图配置导出为JSON以供重用和共享。

参数:

  • config:要导出的绘图配置
  • filename:输出文件名
  • directory:输出目录(默认:'./plot_configs')

import_plot_config

导入并使用带有可选替代的已保存打印配置。

参数:

  • config_path:保存配置的路径
  • overrides:可选参数覆盖

批处理工具(新!)

batch_create_plots

在一次操作中创建多个图。非常适合为所有列生成图表、成对比较或同一数据的不同可视化。

参数:

  • plots:绘图配置数组

几何体类型

  • :散点图点
  • 线:连接点的线图
  • 酒吧:条形图(默认计数)
  • :柱状图(身份统计)
  • 直方图:连续数据柱状图
  • 箱线图:方框图和须状图
  • 小提琴:发行版小提琴图
  • 区域:线下填充区域
  • 密度:核密度图
  • 平滑:平滑的条件意味着
  • 抖动:抖动点(减少过度绘制)
  • 瓷砖:热图/瓷砖图
  • 文本:文本注释
  • 误差线:错误栏
  • hline/vline/abline:参考线
  • 路径:按顺序连接点的路径
  • 多边形:填充多边形
  • 丝带:间隔带

示例

简单散点图

{
  "data_source": {
    "type": "file",
    "path": "./data/iris.csv"
  },
  "aes": {
    "x": "sepal_length",
    "y": "sepal_width",
    "color": "species"
  },
  "geom": {
    "type": "point",
    "params": {"size": 3, "alpha": 0.7}
  }
}

带主题的线条图

{
  "data_source": {
    "type": "url",
    "path": "https://example.com/timeseries.csv"
  },
  "aes": {
    "x": "date",
    "y": "value",
    "color": "category"
  },
  "geom": {
    "type": "line",
    "params": {"size": 1.5}
  },
  "scales": [
    {
      "aesthetic": "x",
      "type": "datetime",
      "params": {"date_breaks": "1 month"}
    }
  ],
  "theme": {
    "base": "minimal",
    "customizations": {
      "figure_size": [12, 6],
      "legend_position": "bottom"
    }
  },
  "labels": {
    "title": "Time Series Analysis",
    "x": "Date",
    "y": "Value"
  }
}

分面Boxplot

{
  "data_source": {
    "type": "inline",
    "data": [
      {"group": "A", "category": "X", "value": 10},
      {"group": "A", "category": "Y", "value": 15},
      {"group": "B", "category": "X", "value": 12}
    ]
  },
  "aes": {
    "x": "group",
    "y": "value",
    "fill": "group"
  },
  "geom": {
    "type": "boxplot"
  },
  "facets": {
    "type": "wrap",
    "facets": "~ category"
  },
  "theme": {
    "base": "bw"
  }
}

多层图:散点+平滑趋势

将多个几何图形分层以创建复杂的可视化:

{
  "data_source": {
    "type": "file",
    "path": "./data/measurements.csv"
  },
  "aes": {
    "x": "time",
    "y": "value",
    "color": "sensor"
  },
  "geoms": [
    {
      "type": "point",
      "params": {"size": 2, "alpha": 0.6}
    },
    {
      "type": "smooth",
      "params": {"method": "lm", "se": false}
    }
  ],
  "theme": {
    "base": "minimal",
    "customizations": {"figure_size": [12, 6]}
  },
  "labels": {
    "title": "Sensor Readings with Trend Lines",
    "x": "Time",
    "y": "Measurement"
  }
}

带抖动点的箱线图

显示分布摘要和单个数据点:

{
  "data_source": {
    "type": "file",
    "path": "./data/experiment.csv"
  },
  "aes": {
    "x": "treatment",
    "y": "response",
    "fill": "treatment"
  },
  "geoms": [
    {
      "type": "boxplot",
      "params": {"alpha": 0.7}
    },
    {
      "type": "jitter",
      "params": {"width": 0.2, "alpha": 0.5, "size": 1}
    }
  ],
  "theme": {
    "base": "bw"
  },
  "labels": {
    "title": "Treatment Effects with Individual Observations"
  }
}

聊天示例

您可以通过自然语言创建绘图:

“从users.csv创建'年龄'列的直方图”

“绘制一个散点图,用平滑的趋势线显示价格与尺寸,按类别着色”

使用深色主题,在sales.cv中绘制一个折线图,x轴为日期,y轴为收入,按地区分面

“创建一个小提琴图,比较不同学校的考试成绩分布”

“制作一个方框图,上面覆盖着各个点,按季节显示温度”

为每个类别创建一个带有线性趋势线的散点图,显示学习时间与考试成绩之间的关系

使用新工具

“打印前预览sales.cv中的数据”

“有哪些主题可用?”

“显示所有可用的绘图模板”

“为我的数据建议合适的绘图类型”

“使用模板创建时间序列图”

“列出科学类别中的调色板”

“导出此绘图配置,以便以后重复使用”

“从my_config.json加载plot配置,并将其用于其他数据集”

“根据保存的配置创建绘图,但将主题更改为最小”

“为数据集中的每个类别创建图表” (批量处理)

筛选数据以仅显示活动用户,然后创建直方图 (数据转换)

新示例

使用模板

使用模板创建带有趋势线的散点图:

"Use the scatter_with_trend template to plot height vs weight from my data"

这将自动创建具有以下内容的绘图:

  • 散点(带透明度)
  • 线性回归线
  • 置信区间
  • 最小主题

使用调色板

"Create a bar chart colored using the colorblind-safe Okabe-Ito palette"

数据转换

"Filter sales data to show only Q4, group by region, sum the revenue, and create a bar chart"

这将在打印之前应用转换:

  1. 筛选器: "quarter == 'Q4'"
  2. 分组和汇总:按地区,收入总额
  3. 图:结果柱状图

批处理

"Create histogram plots for all numeric columns in my dataset"

配置选项

主题

可用基本主题:

  • gray (默认)
  • bw 非黑即白的
  • minimal
  • classic
  • dark
  • light
  • void

比例类型

  • 位置的:连续、离散、log10、sqrt、datetime
  • 颜色/填充:梯度、离散、酿造器

坐标系

  • cartesian (默认)
  • flip (交换x和y)
  • fixed (固定纵横比)
  • trans (转换坐标)

输出

默认情况下,绘图保存到 ./output 将目录转换为300 DPI的PNG文件。您可以自定义:

  • 格式:png、pdf、svg
  • 文件名:自定义文件名(默认情况下自动生成)
  • 大小:尺寸单位为英寸
  • 每英寸点数:光栅格式的分辨率
  • 目录:输出目录路径

故障排除

“找不到模块”错误

确保您已安装该软件包:

pip install -e .

拼花地板/Excel支持

安装可选依赖项:

pip install -e ".[full]"

“找不到数据文件”

使用绝对路径或相对于Claude Desktop运行位置的路径。

绘图未渲染

检查:

  • 中的列名 aes 匹配您的数据
  • 数据类型适用于几何图形
  • 提供所需的美学(例如。, xy 对于大多数geoms)

发展

运行测试

pytest

代码格式化

black src/
ruff check src/

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交拉取请求。

资源

目录标签

目录标签

数据可视化PythonClaude数据分析本地部署AI绘图科研工具Python库

支持客户端

Claude DesktopClaudeCursorCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP