2014-10-08 2 views
2

Я показываю диаграмму с одной или несколькими линейными рядами. Данные поступают из запроса и работают корректно, если на диаграмме больше, чем в серии. Однако, если возвращается только одна серия, она отображается неправильно.ColdFusion 9 CFCHART CFCHARTSERIES Выпуск

Вот код используется:

<cfchart format="flash" tipstyle="mouseover" showlegend="yes" xaxistitle="Date" yaxistitle="Hits" chartwidth="1200" chartheight="300"> 
    <cfoutput query="qryReport" group="APP_SYS_NR"> 
     <cfchartseries serieslabel="#qryReport.APP_NA#" type="line"> 
     <cfoutput> 
      <cfchartdata item="#DateFormat(qryReport.CDR_DT, "mm/dd/yyyy")#" value="#qryReport.TOT_HIT_CNT#">    
     </cfoutput> 
     </cfchartseries> 
    </cfoutput> 
</cfchart> 

затемненная область в верхней части этой диаграммы перечислена клавиши для того, что представляет собой две линии: Working Chart

В этой схеме (когда имеется только один APP_SYS_NR вернулся), вместо того, чтобы иметь только одну метку, все даты превращаются в метки. Очевидно не то, что я хочу: Broken Chart

Редактировать: Я проследил это до атрибута showlegend cfchart. Согласно Adobe, следует ли отображать легенду, если диаграмма содержит несколько рядов данных. Я думаю, когда он содержит только один ряд данных, он полностью держится сам и делает данные в легенде. Я тестировал на ColdFusion 9 и ColdFusion 10.

+0

Просьба уточнить, что «отображается неправильно». Укажите, что вы хотели бы видеть и что вы на самом деле видите. –

+0

Выглядит две диаграммы выше. Совершенно очевидно, что второй отображается неверно. У него не должно быть всех этих дат, перечисленных вверху, как будто они серии. Вместо этого он должен выглядеть так же, как и первый график, но с одним элементом, указанным в верхней части (где зачеркнутая часть находится на первом изображении). – Brad

+0

Разве вы не можете установить showlegend на false? Я имею в виду ... твоя проблема - десятки элементов легендарной даты? –

ответ

1

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

<cfset VARIABLES.blnShowLegend = "no"> 
<cfset VARIABLES.strChartTitle = "#qryReport.APP_NA#"> 
<cfif ListLen(URL.lstApps) GT 1> 
    <cfset VARIABLES.blnShowLegend = "yes"> 
    <cfset VARIABLES.strChartTitle = ""> 
</cfif> 
<cfchart format="flash" title="#VARIABLES.strChartTitle#" tipstyle="mouseover" style="appstats" showlegend="#VARIABLES.blnShowLegend#" xaxistitle="Date" yaxistitle="Hits" chartwidth="1200" chartheight="300"> 
    <cfoutput query="qryReport" group="APP_SYS_NR"> 
     <cfchartseries serieslabel="#qryReport.APP_NA#" type="line"> 
     <cfoutput> 
      <cfchartdata item="#DateFormat(qryReport.CDR_DT, "mm/dd/yyyy")#" value="#qryReport.TOT_HIT_CNT#">    
     </cfoutput> 
     </cfchartseries> 
    </cfoutput> 
</cfchart> 
Смежные вопросы