2014-09-24 17 views
0

Я использую основной график для создания своих графиков.Ядро Графика Градиентные бары

Я хочу иметь градиент в барах, чтобы цвет начинался с желтого цвета и менялся на красный. Однако это зависит от того, насколько высока полоса. Графики, например, должны выглядеть следующим образом:

enter image description here

Я использую изображение на крайнем правом (по высоте одного) в приложении. Однако есть 2 вопроса.

1) Бар перевернут. Поэтому они начинаются с красного и идут до желтого.

2) Бар полностью красный, если я использую слишком большое изображение. Если я использую слишком маленькое изображение, оно начинает повторяться. Если я использую изображение правильного размера, то оно, похоже, работает. Однако я буду использовать эти изображения на нескольких графиках, которые не будут иметь одинаковый размер. Таким образом, кажется неэффективным иметь правильные размеры изображений. Плюс у меня будет несколько баров на каждый сюжет, поэтому, если график изменит размер, это будет означать, что все изображения нужно будет изменить.

Вот код, я использую для создания баров:

CPTImage *image = [CPTImage imageForPNGFile:@"gradient-bar"]; 
image.tiled = YES; 
CPTFill *areaFill = [CPTFill fillWithImage:image]; 

CPTBarPlot *plot = [[CPTBarPlot alloc] init]; 
plot.fill = areaFill; 
plot.identifier = @"BIP"; 

Вот изображение, когда бар изображение нужного размера:

enter image description here

Главное, что я Я ищу, чтобы иметь одно изображение, которое я могу использовать на любом графике.

Большое спасибо.

=====

Редактировать

Если я устанавливаю image.tiled = NO я получаю следующий график:

enter image description here

Я хотел бы графики на быть как изображения из моего оригинального поста. Так что вокруг отметки 250 это должен быть только желтый цвет. Если это 1000, то он должен идти, хотя весь диапазон цветов от желтого до красного.

ответ

0

Вы используете черепичное изображение, поэтому оно повторяется, когда панель больше оригинального изображения. Установите tiled на NO, чтобы растянуть изображение, чтобы заполнить панель. Я не знаю, почему это перевернуто.

+0

Hi Eric благодарит за ваш ответ. Я попробовал установить плиточный образ на нет, но это не дает результата, который я ищу. См. Мой отредактированный пост. Благодарю. – pls

+0

Если вы хотите посмотреть на черепицу, убедитесь, что изображение не менее высокое (в точках экрана), так как самый высокий балл будет. –

+0

Спасибо, что подтвердили, что это путь. И спасибо за отличную работу с Core Plot. – pls

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