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

Windows Form Chart柱状图按盈亏值设置颜色问题求助

问题分析与修正代码

你的代码存在三个核心问题:

  • 循环变量命名混淆:你遍历的是单个数据点,却用了$series作为变量名,容易和图表系列(Series)混淆
  • 数值判断逻辑错误:直接拿数据点对象和0比较不成立,需要取数据点的Y轴数值进行判断
  • 颜色设置对象错误:你一直在修改整个系列的颜色,而非单个柱子对应的数据点颜色

修正后的代码:

Clear-Chart $chart1
$script:csv = Import-Csv -Path "C:\testpath\AutoBotStatsCollected.csv"

update-Chart $chart1 -XPoints $csv.'Market' -YPoints $csv.'Daily Profit/Loss'

$points = $Chart1.Series[0].Points

# 遍历每个数据点,逐个设置颜色
foreach ($point in $points) {
    # 取出当前数据点的Y轴数值(每日盈亏)
    $profitLoss = $point.YValues[0]
    if ($profitLoss -lt 0) {
        $point.Color = 'Blue'  # 亏损柱子设为蓝色
    }
    else {
        $point.Color = 'Crimson'  # 盈利柱子设为深红色
    }
}

代码说明:

  • 将循环变量改为$point,明确指代单个数据点
  • 通过$point.YValues[0]获取该柱子对应的每日盈亏数值,再和0比较
  • 直接修改$point.Color为当前数据点设置颜色,而非整个系列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 05:33:22