Foxtable(狐表)用户栏目专家坐堂 → [求助]折线图百分比格式


  共有486人关注过本帖树形打印复制链接

主题:[求助]折线图百分比格式

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]折线图百分比格式  发帖心情 Post By:2024/10/31 14:10:00 [只看该作者]

当折线图是多图系时,下面怎么改
Dim c1Chart1 = Chart.basecontrol
Dim lbls = c1Chart1.ChartLabels
For i As Integer = 0 To 12
    Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
    lbl.Text = Format(series.y(i), "0.00%")
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 0
    lbl.AttachMethodData.PointIndex = i
    If Series.Y(i) >= 0 Then
        lbl.Style.ForeColor = Color.Black
    Else
        lbl.Style.ForeColor = Color.Red
    End If
    lbl.style.font = New font("宋体", 15)
    lbl.Compass = LabelCompassEnum.North
    lbl.Visible = True
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110886 积分:564386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 14:21:00 [只看该作者]

改什么?有什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2024/10/31 14:46:00 [只看该作者]

两条折线的时候,只有其中一条设置了百分比格式,另一条没成功。数据点的位置也不对,不知道如何调整

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20241031144258.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2024/10/31 14:49:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110886 积分:564386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 14:50:00 [只看该作者]

完整代码发上来

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2024/10/31 15:07:00 [只看该作者]

Dim Chart As WinForm.Chart 
Dim Series As WinForm.ChartSeries 
Dim t As Table = Tables("实销流水同期比较") 
Chart = e.Form.Controls("Chart2") 
Chart.ChartType = ChartTypeEnum.XYPlot
Chart.DataSource = "实销流水同期比较"
Chart.SeriesList.Clear()
Chart.AxisY.AnnoFormatString="00%"
For Each c As Col In t.Cols
    If c.Name <> "月份"  Then
        Series = Chart.SeriesList.Add()
        Series.Text = c.Name
        Series.X.DataField = "月份"
        Series.Y.DataField = c.Name
    End If
Next

Chart.HeaderText = "销售增长情况" 

Dim c1Chart1 = Chart.basecontrol
Dim lbls = c1Chart1.ChartLabels
For i As Integer = 0 To t.Rows.Count
    Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
    lbl.Text = Format(series.y(i), "0.00%")
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 0
    lbl.AttachMethodData.PointIndex = i
    If Series.Y(i) >= 0 Then '根据值进行判断,如果大于0则为黑色,如果小于0则为红色
        lbl.Style.ForeColor = Color.Black
    Else
        lbl.Style.ForeColor = Color.Red
    End If
    lbl.style.font = New font("宋体", 15)
    lbl.Compass = LabelCompassEnum.North
    lbl.Visible = True
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110886 积分:564386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 15:16:00 [只看该作者]

Dim Chart As WinForm.Chart 
Dim Series As WinForm.ChartSeries 
Dim t As Table = Tables("实销流水同期比较") 
Chart = e.Form.Controls("Chart2") 
Chart.ChartType = ChartTypeEnum.XYPlot
Chart.DataSource = "实销流水同期比较"
Chart.SeriesList.Clear()
Chart.AxisY.AnnoFormatString = "00%"
Chart.HeaderText = "销售增长情况" 

Dim c1Chart1 = Chart.basecontrol
Dim lbls = c1Chart1.ChartLabels

For Each c As Col In t.Cols
    If c.Name <> "月份" Then
        Series = Chart.SeriesList.Add()
        Series.Text = c.Name
        Series.X.DataField = "月份"
        Series.Y.DataField = c.Name
        
        For i As Integer = 0 To t.Rows.Count
            Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
            lbl.Text = Format(series.y(i), "0.00%")
            lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
            lbl.AttachMethodData.GroupIndex = 0
            lbl.AttachMethodData.SeriesIndex = 0
            lbl.AttachMethodData.PointIndex = i
            If Series.Y(i) >= 0 Then '根据值进行判断,如果大于0则为黑色,如果小于0则为红色
                lbl.Style.ForeColor = Color.Black
            Else
                lbl.Style.ForeColor = Color.Red
            End If
            lbl.style.font = New font("宋体", 15)
            lbl.Compass = LabelCompassEnum.North
            lbl.Visible = True
        Next
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2024/10/31 18:32:00 [只看该作者]

还是不行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110886 积分:564386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 20:03:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2024/11/1 17:15:00 [只看该作者]

Chart.SeriesList.Clear() 这里没起作用,切换数据的时候数据标示仍会重叠

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110886 积分:564386 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/1 17:17:00 [只看该作者]

Dim lbls = c1Chart1.ChartLabels
lbls.clear

 回到顶部
总数 16 1 2 下一页