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

如何在matplotlib.pyplot中指定y轴刻度并绘制分布函数水平虚线?

解决方案

1. 添加水平虚线

用matplotlib.pyplot的hlines()函数可以快速绘制水平虚线,配合循环处理所有数据点,避免重复代码。

2. 指定y轴刻度

当然可以自定义y轴刻度,使用yticks()函数传入你需要的刻度值列表即可。

完整代码

import matplotlib.pyplot as plt

# 整理数据,简化重复代码
x_vals = [1, 2, 3, 4, 5, 6]
y_vals = [0.00243, 0.03078, 0.16308, 0.47178, 0.83193, 1]

# 循环绘制箭头和对应水平虚线
for x, y in zip(x_vals, y_vals):
    # 第一个箭头dx设为-0.9,其余保持原参数
    dx = -0.9 if x == 1 else -0.99999
    plt.arrow(x=x, y=y, dx=dx, dy=0, width=0.01, facecolor='red', edgecolor='none')
    # 绘制从x=0到当前x的水平虚线
    plt.hlines(y=y, xmin=0, xmax=x, linestyle='--', color='gray', alpha=0.7)

# 自定义y轴刻度:可混合基础刻度和分布函数的y值
plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1] + y_vals)

# 可选:添加坐标轴标签让图表更清晰
plt.xlabel('X')
plt.ylabel('累积分布概率')

plt.show()

关键说明

  • hlines(y, xmin, xmax):参数依次为虚线的y坐标、x起始点、x结束点,linestyle='--'设置为虚线,alpha调整透明度避免遮挡箭头。
  • yticks(ticks_list):传入任意数值列表,即可让y轴显示指定刻度,你可以根据需求自由调整列表内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:33:26