You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R ggplot2中基于导入数据设置坐标轴并绘制双数据集图

单X轴单Y轴绘制两组数据并标注特定点

嘿,我完全get到你的需求了——你要的是单X轴+单Y轴的常规绘图,不是那些教程里讲的双Y轴场景,这个其实比双Y轴简单多啦!下面我用Python最常用的Matplotlib库给你写个可直接复用的示例,你一看就懂:

步骤1:导入绘图库

import matplotlib.pyplot as plt

步骤2:准备你的数据

这里我模拟了和你描述匹配的数据范围,你直接替换成自己的真实数据就行:

# set1:X轴数据,范围0-100
set1 = [5, 20, 35, 50, 65, 80, 95]
# set2:Y轴数据,范围0-1
set2 = [0.15, 0.38, 0.09, 0.67, 0.29, 0.88, 0.47]

# 要标注的点集合:每个点包含对应的X值、Y值和标签
annotation_points = [
    {"x": 20, "y": 0.38, "label": "foo"},
    {"x": 50, "y": 0.67, "label": "bar"},
    {"x": 80, "y": 0.88, "label": "spa"}
]

步骤3:绘制图形并添加标注

# 创建画布和轴对象
fig, ax = plt.subplots(figsize=(8, 5))

# 绘制数据点:这里用散点图举例,如果你要画折线图,把scatter换成plot即可
ax.scatter(set1, set2, color='#1f77b4', s=60, label='Dataset')

# 逐个添加标注点
for point in annotation_points:
    # annotate函数用来添加文本标注,xy是目标点坐标,xytext是文本偏移位置
    ax.annotate(
        point["label"],
        xy=(point["x"], point["y"]),
        xytext=(point["x"] + 4, point["y"] + 0.06),  # 可根据实际情况调整偏移量
        arrowprops=dict(arrowstyle='->', color='#ff4b5c', lw=1.2),  # 箭头样式
        fontweight='bold'
    )

# 设置轴标签和标题
ax.set_xlabel('set1 (Range: 0-100)', fontsize=12)
ax.set_ylabel('set2 (Range: 0-1)', fontsize=12)
ax.set_title('Single X-Y Axis Plot with Custom Annotations', fontsize=14, pad=15)

# 添加图例和网格
ax.legend()
ax.grid(alpha=0.3)

# 显示图形
plt.show()

关键说明

这个方案的核心就是直接将set1绑定到X轴、set2绑定到Y轴,完全不需要配置双Y轴。不管你用散点图、折线图还是其他类型的图,只要把x参数设为set1,y参数设为set2就行。标注点的逻辑和你已知的方法一致,用annotate函数逐个添加即可。

如果用的是Seaborn这类高层库,思路也是一样的:比如用sns.scatterplot(x=set1, y=set2)绘制主图,再用plt.annotate添加标注点,操作逻辑完全通用。

内容的提问来源于stack exchange,提问作者Liquidity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:10:19