2010-12-16 3 views
1

У меня есть гистограмма, нарисованная в ZedGraph. И я должен установить конкретный цвет для определенного диапазона значений. Например:Как установить различные цвета в гистограмме ZedGraph?

Graph Pane = zedGraph.GraphPane;  
list = new PointPairList();  
for (int i = 0; i < 256; i++) 
{  
    list.Add(i, array_with_y_values[i]);  
}  
Pane.AddBar("", list, Color.Red); 

И как я могу установить другой цвет для некоторых из них?

+0

Можете ли вы быть более конкретным? Вам нужен один бар с несколькими цветами? Или вы хотите добавить новую панель другого цвета? – KrisTrip 2010-12-16 17:46:30

+0

Извините, я хочу один бар разного цвета. Я попытался добавить новый бар вместо старого, но он накладывается на него. Он должен выглядеть сплошным красным, а затем сплошным желтым (например) и сплошным красным снова без градиентов и других уродов. – Nozim 2010-12-18 07:45:44

ответ

2

Вы ищете что-то вроде этого? Этот фрагмент кода добавляет 50 баров со случайными значениями y между 0 и 15. Он будет иметь цветные полосы с значениями y < 5 как красный, 5-10 как желтый, а> 10 - зеленый.

GraphPane pane = zedGraphControl1.GraphPane; 
PointPairList list = new PointPairList(); 
Random rand = new Random(); 

for (int i = 0; i < 50; i++) 
{ 
    list.Add(i, rand.Next(15)); 
} 

BarItem myBar = pane.AddBar("", list, Color.Red); 
Color[] colors = { Color.Red, Color.Yellow, Color.Green }; 
myBar.Bar.Fill = new Fill(colors); 
myBar.Bar.Fill.Type = FillType.GradientByY; 
myBar.Bar.Fill.RangeMin = 5; 
myBar.Bar.Fill.RangeMax = 10; 

zedGraphControl1.AxisChange(); 

Это модифицированный пример ZedGraph один здесь: http://www.zedgraph.org/wiki/index.php?title=Multi-Colored_Bar_Demo

Смежные вопросы