Отображение только легенды для круговой диаграммы Oracle Apex/AnyChart

В настоящее время я пытаюсь отобразить панель инструментов круговых диаграмм фиксированного размера в APEX 4.26, однако им нужна легенда, а их содержимое является динамичным. Это означает, что диаграмма с большим количеством меток имеет большую легенду и меньшую круговую диаграмму, чем, например, диаграмма с двумя метками.

Мое текущее возможное решение состоит в том, чтобы создать две области для каждой диаграммы: одну с круговой диаграммой, а другую только с легендой, и тогда я легко смогу контролировать размер этих областей.

Очевидно, я могу легко отключить Легенду для первого региона, но у меня возникли некоторые проблемы с отображением только легенды в другом регионе. Может кто-нибудь помочь мне с тем, что мне нужно изменить или удалить из XML? (Я предполагаю, что это способ сделать это). Вот мой XML на минуту:

<?xml version = "1.0" encoding="utf-8" standalone = "yes"?>  
<anychart>  
  <settings>  
    <animation enabled="true"/>  
    <no_data show_waiting_animation="False">  
      <label>  
        <text>#NO_DATA_MESSAGE#</text>  
        <font family="Verdana" bold="yes" size="10"/>  
      </label>  
    </no_data>  
  </settings>  
  <margin left="0" top="-10" right="0" bottom="0" />  
  <charts>  
    <chart plot_type="Pie" name="chart_3232705401305025">   
      <chart_settings>  
        <title enabled="False" />  
        <chart_background>  
          <fill type="Solid" color="0xffffff" opacity="0" />  
          <border enabled="false"/>  
          <corners type="Square"/>  
        </chart_background>  
        <data_plot_background>  


        </data_plot_background>  


        <legend enabled="true" position="Bottom" align="Near" elements_layout="Horizontal" ignore_auto_item="True">  
          <title enabled="False"/>  
          <icon>  
            <marker enabled="true" />  
          </icon>  
          <items>  
            <item source="Points" />  
          </items>  
          <font family="Tahoma" size="10" color="0x000000" />  
        </legend>  
        <chart_animation type="Appear" interpolation_type="Quadratic" show_mode="OneByOne"/>  
      </chart_settings>  
      <data_plot_settings enable_3d_mode="false" >  
        <pie_series style="Aqua">  
          <tooltip_settings enabled="true">  
            <format><![CDATA[{%Name}{enabled:False} - {%Value}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,}]]></format>  
            <font family="Tahoma" size="10" color="0x000000" />  
              <position anchor="Float" valign="Top" padding="10" />   
          </tooltip_settings>  
          <label_settings enabled="false"/>  
          <pie_style>  


          </pie_style>  
          <marker_settings enabled="True" >  
            <marker type="None" />  
          </marker_settings>  
          <connector color="Black" opacity="0.4"/>  
        </pie_series>  
      </data_plot_settings>  


#DATA#  
    </chart>  
  </charts>  
</anychart>  

Любые указатели высоко ценится! Или любые яркие идеи о более простом способе достижения этого.

Спасибо!

2 ответа

Решение

Просто чтобы обновить этот вопрос, я предложил возможное решение, которое сработало бы для одного графика, и подумал, что я бы обрисовал его здесь на случай, если кто-нибудь посмотрит на это и ответа не будет.

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

Затем я использовал z-index для перемещения второй области за первой. Кажется, это работает, мне просто нужно как-то скрыть сообщение "ожидание данных" из второго региона.

Вы можете сделать диаграмму невидимой и установить легенду, чтобы плавать и перекрывать всю диаграмму, пример ниже делает это, вы можете повторить это и в APEX.

Основные настройки:

<chart_settings>
   <legend enabled="true"  position="Float" width="100%" height="100%"/>
   <title enabled="false" />
</chart_settings>    

полученная легенда

Полные настройки:

<?xml version="1.0" encoding="UTF-8"?>
<anychart>
  <charts>
    <chart plot_type="Pie">
      <data_plot_settings>
        <pie_series apply_palettes_to="Points" radius="0">
          <tooltip_settings enabled="false"/>
          <label_settings enabled="false"/>
        </pie_series>
      </data_plot_settings>
      <chart_settings>
        <legend enabled="true"  position="Float" width="100%" height="100%"/>
        <title enabled="false" />
      </chart_settings>      
      <data>
        <series name="Year 2003">
          <point name="Department Stores" y="637166" />
          <point name="Discount Stores" y="721630" />
          <point name="Men's/Women's Specialty Stores" y="148662" />
          <point name="Juvenile Specialty Stores" y="78662" />
          <point name="All other outlets" y="90000" />
        </series>
        <series name="Year 2004">
          <point name="Department Stores" y="737166" />
          <point name="Discount Stores" y="537166" />
          <point name="Men's/Women's Specialty Stores" y="188662" />
          <point name="Juvenile Specialty Stores" y="178662" />
          <point name="All other outlets" y="89000" />
        </series>
      </data>
    </chart>
  </charts>
</anychart>

Настройки и расположение легенды описаны по адресу: http://6.anychart.com/products/anychart/docs/users-guide/index.html?legend-text-formatting.html

Другие вопросы по тегам