AmCharts .NET 控件中,LineChartGraph如何设置曲线平滑度,默认是折线。

 我来答
敏锐又温和的小布丁0
2011-10-27 · 超过24用户采纳过TA的回答
知道答主
回答量:260
采纳率:30%
帮助的人:14.6万
展开全部
//清空原有图形
LineChart1.Graphs.Clear();
string TypeId = ddlName.Text.Trim();
string Time1 = time1.Value.Trim();
string Time2 = time2.Value.Trim();
//准备数据
//Response.Write(DropDownList1.SelectedValue + "," + DropDownList1.SelectedItem);
StringBuilder sql = new StringBuilder();
sql.AppendFormat("select Time," + TypeId + ",Tablenum,Tablename from epi,Table_xinxi where Tablenum='" + TypeId + "' and Time>='" + Time1 + "' and Time <= '" + Time2 + "'");
DataSet dataSet = SQLServerHelper.ExecuteDataSet(sql.ToString());
//添加数据线对象
LineChartGraph lineChartGraph = new LineChartGraph();
//顶点形状为圆点
lineChartGraph.Bullet = LineChartBulletTypes.Round;
//顶点颜色
lineChartGraph.BulletColor = Color.Blue;
//向下面积图的颜色
lineChartGraph.FillColor = Color.Yellow;
//向下面积图的透明度
lineChartGraph.FillAlpha = Convert.ToByte(20);
//添加数据
//Y轴值在右边(默认在左边)
//lineChartGraph.Axis = LineChartAxes.Right;

lineChartGraph.DataSource = dataSet;//数据源
lineChartGraph.DataSeriesItemIDField = "Time";//标识字段
lineChartGraph.DataValueField = ddlName.Text.Trim();//值字段
lineChartGraph.Title = ddlName.SelectedItem.Text.Trim();//数据系列标题
//添加线条到图形
LineChart1.Graphs.Add(lineChartGraph);

//添加Y轴单位说明
LineChart1.Labels.Add(new ChartLabel("", new Unit(80), new Unit(80))); //单位为mm
LineChart1.DataSource = dataSet;
LineChart1.DataSeriesIDField = "Time";
LineChart1.DataBind();

这个是我自己做的一个曲线图的你可以看看的,折线图的原理也是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
雪海舞雅
2012-11-02 · 超过35用户采纳过TA的回答
知道答主
回答量:165
采纳率:0%
帮助的人:92.5万
展开全部
可以在数据附加之前,进行数据处理。
public static DataRow [] SmoothData(DataTable dt, long count, string colname)
{
long rows = dr.Length;
if (rows <= 3) return dr;
for (int n = 0; n < count; n++)
{
for (int i = 1; i < rows - 1; i++)
{
dr[i][colname] = Convert.ToInt32((Convert.ToInt32(dr[i - 1][colname]) + Convert.ToInt32(dr[i][colname]) + Convert.ToInt32(dr[i + 1][colname])) / 3); //取当前值的前后两个值,三个相加然后取其平均值
}
}
return dr;
}
用这个方法可以的。你可以改count的值,设置平和的次数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式