zedGraph柱状图显示不面颜色

sunshushou 2010-10-21 05:29:18
用zedGraph画柱状图,现在要实现Y轴大于100显示为红色,小于100则用其它颜色展现,请问zedGraph能为各个数据点设置不同的颜色吗?没找到相关属性,最近被zedGraph搞得头大。
...全文
471 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zidane 2012-05-13
  • 打赏
  • 举报
回复
柱状图的颜色可以不是渐变色吗?
[Quote=引用 2 楼 的回复:]

效果图如下:
[/Quote]
zidane 2012-05-13
  • 打赏
  • 举报
回复
柱状图的颜色可以不是渐变色吗?
fang1229 2012-02-08
  • 打赏
  • 举报
回复
可以在图中画一条 y=100 的线,设置线条颜色、粗细 同样可以达到这样的效果

网上有过这样的Demo
sunshushou 2010-10-22
  • 打赏
  • 举报
回复
追加分再请教一个问题,如何让zedGraphX轴为DateAsOrdinal时让它起始位置为最小日期位置开始画线,而不是从左边开始,如下图:

Date类型就可以从它的最小日期开始画线

DateAsOrdinal类型却是从最左边开始画起的,不符合要求,有办法让它也从最小日期开始而不是从最左边开始画线吗?不能用Date类型因为股票节假日是不交易的,没有数据K线不连续(要是能用Date类型并且K线连续就最理想了,呵呵!)。
sunshushou 2010-10-22
  • 打赏
  • 举报
回复
效果不错,我试下先。
阿双2009 2010-10-21
  • 打赏
  • 举报
回复 1
效果图如下:

阿双2009 2010-10-21
  • 打赏
  • 举报
回复 1
没有直接的属性可以设置,倒是可以把大小于100的数据用两个数组来存取,可参考:
        public void CreateChart(ZedGraphControl zgc)
{
GraphPane myPane = zgc.GraphPane;
myPane.XAxis.Title.IsVisible = false;
myPane.YAxis.Title.Text = "Value";

string[] xLables = { "标签1", "标签2", "标签3", "标签4", "标签5", "标签6" };
/* 测试数据,注意这里的数据控制,两个数组中的两个对应项
* 务必保持一个值为0:
* 比如这里的y1[0]=110,则y2[0]=0;y2[1]=99,则y1[1]=0 */
double[] y1 = { 110, 0, 120, 0, 0, 123 }; //用来保存大于100的数据
double[] y2 = { 0, 99, 0, 35, 80, 0 }; //用来保存小于100的数据

// 创建Curve1,显示红色的柱子
CurveItem myCurve = myPane.AddBar("Curve 1", null, y1, Color.Red);
// 创建Curve2,显示绿色的柱子
myCurve = myPane.AddBar("Curve 2", null, y2, Color.Green);

// 设置x轴为文本显示
myPane.XAxis.Type = AxisType.Text;
// 设置x轴文本标签值
myPane.XAxis.Scale.TextLabels = xLables;
// 设置x轴标签字体
myPane.XAxis.Scale.FontSpec.Family = "华文行楷";

// 为每个“柱子”上方添加值标签
for (int i = 0; i < y1.Length; i++)
{
double Y = y1[i] == 0 ? y2[i] : y1[i];
TextObj text = new TextObj(Y.ToString(), (i + 1), Y + 3.0);

text.FontSpec.Border.IsVisible = false;
text.FontSpec.Fill.IsVisible = false;

myPane.GraphObjList.Add(text);
}
myPane.BarSettings.Type = BarType.SortedOverlay;

// 设置背景色
myPane.Chart.Fill = new Fill(Color.White, Color.LightGoldenrodYellow, 45.0F);

zgc.AxisChange();
}

ZedGraph控件属性设置 ZedGraph是一个非常优秀的开源的作图控件 ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675 ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?title=Sample_Graphs 1、在vs中使用ZedGraph 2、一些基本概念 几个注意点: 图片的保存路径设置:RenderedImagePath属性中设置,程序对该文件夹应该是有写和修改权限的 图片的输出格式:OutputFormat属性中设置,Png的推荐,比较清晰。 Chart ChartBorder 图表区域的边框设置 ChartFill 图表区域的背景填充 Legend 图表的注释标签显示设置项目,一组数据对应一种颜色的注释 IsHStack 当有多个显示项的时候设置Y轴数据是叠加的还是分开的 Xaxis 图表区域的X轴相关信息设置 AxisColor 坐标轴颜色 Cross 坐标的原点,可以设置坐标的偏移程度 CrossAuto 原点自动设置:True的话Cross的设置就无效了。 FontSpec X轴标题字体相关信息 Angle X轴标题字体显示时候的角度,0为水平 90为垂直 Fill X轴标题字体填充信息 ColorOpacity 透明度 IsScaled 设置X轴标题字体显示大小是否根据图的比例放大缩小 RangeMax 填充时候的最大倾斜度(有过渡色,没试过) RangeMin 填充时候的最小倾斜度(有过渡色,没试过) StringAlignment X轴标题字体排列(不清楚,没试过) IsOmitMag 是否显示指数幂(10次方,没试过,似乎与IsUseTenPower有关系) IsPreventLabelOverlap 坐标值显示是否允许重叠,如果False的话,控件会根据坐标值长度自动消除部分坐标值的显示状态 IsShowTitle X轴标题是否显示 IsTicsBetweenLabels 两个坐标值之间是否自动显示分隔标志 IsUseTenPower 是否使用10次幂指数 IsVisible 是否显示X轴 IsZeroLine 当数据为0时候是否显示(在饼状图显示的时候有用) MajorGrid 大跨度的X轴表格虚线线显示信息 DashOff 虚线中孔间距 DashOn 虚线单位长度 MajorTic 大跨度的X轴刻度信息 IsInside 在Chart内部是否显示 IsOutSide 在Chart外部是否显示 IsOpposite

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧