GridLine поверх гистограммы в Mathematica

Можно ли получить GridLine через BartChart? Линии сетки рисуют его под ним, а Mesh, похоже, не работает с BarChart.

BarChart[{Range[10], Range[10]}, 
         ChartLayout -> "Stacked", 
         GridLines -> {None, {4}}, 
         GridLinesStyle -> Directive[Orange, Thick]]

введите здесь описание изображения


person 500    schedule 24.08.2011    source источник


Ответы (2)


Это можно сделать с помощью параметра метода:

BarChart[{Range[10], Range[10]}, ChartLayout -> "Stacked", 
 GridLines -> {None, {4}}, GridLinesStyle -> Directive[Orange, Thick],
  Method -> {"GridLinesInFront" -> True}]

введите здесь описание изображения

(это должно работать для любого изображения.)

person Brett Champion    schedule 24.08.2011
comment
В Бретт, замечательно, спасибо! По какой-то причине @Brett заставляет Бретта и @ исчезнуть. - person 500; 24.08.2011
comment
Это задокументировано? Я не думаю, что сталкивался с этим раньше. - person Mr.Wizard; 24.08.2011
comment
Похоже, что есть также параметр «Графика» Method -> {"AxesInFront" -> True} См. здесь для обсуждения Mathgroup Дэвидом Парком. Я никогда не слышал ни о том, ни о другом. - person tomd; 24.08.2011
comment
@ 500, @ и Бретт исчезают, потому что неясно, кого вы имеете в виду. - person rcollyer; 24.08.2011
comment
Я должен поддержать вопрос о том, документировано это или нет. - person rcollyer; 24.08.2011
comment
Method не задокументирован как вариант для Graphics или BarChart в документации версии 8 - время добавить в мой [ stackoverflow.com/questions/7087149/. - person Verbeia; 25.08.2011
comment
@Verbeia: Method действительно является задокументированной опцией Graphics (и, следовательно, BarChart). В частности, она указана в таблице опций в разделе «Примечания», хотя ни BarChart, ни Graphics не содержат примеров ее использования. - person Brett Champion; 25.08.2011
comment
Ах, я вижу, но его нет в списке параметров, приведенных в документации под заголовком «Параметры». Я соответствующим образом пересмотрю вопрос. - person Verbeia; 25.08.2011
comment
@500 см. здесь возможное объяснение исчезновению @-имени пользователя. Лично я предпочитал вещи такими, какие они есть. - person tomd; 10.09.2011

Другой вариант — явно нарисовать линию сетки с помощью Epilog. Это было бы решением, если бы вы хотели, чтобы некоторые линии сетки (например, вертикальные) были позади, а некоторые — впереди. Я добавил несколько других опций на тот случай, если вы не хотите, чтобы линия сетки перетекала по осям.

BarChart[{Range[10], Range[10]}, ChartLayout -> "Stacked", 
 Epilog -> {Orange, Thick, Line[{{0, 4}, {3, 4}}]}, 
 PlotRangeClipping -> True, PlotRangePadding -> 0]

введите здесь описание изображения

person Verbeia    schedule 24.08.2011
comment
@Vebeia, спасибо за внимание. - person 500; 25.08.2011