CFCHART: обратный порядок по оси Y - PullRequest
4 голосов
/ 13 февраля 2009

Я имею в виду, что MIN должен быть сверху, а MAX - по оси X.

Это необходимо для того, чтобы сделать диаграмму более понятной для чтения и относящейся к ранжированию объектов, когда 1-е место «лучше», чем 3-е. Вот почему было бы лучше выглядеть так:

alt text
(источник: xantea.net ) => alt text
(источник: xantea.net )

1 Ответ

4 голосов
/ 15 февраля 2009

Это можно сделать с помощью пользовательского XML. Я запустил Chart Designer (cfinstall / charting / webcharts.bar (или .sh) и просто поработал с настройкой YAxis. Есть настройка isReversed, которая делает то, что вы хотите. Рассмотрите этот код:

<cfset q2 = queryNew("year,employees","integer,integer")>
<!--- generate random sales data --->
<cfloop index="y" from="1994" to="1998">
    <cfscript>
    queryAddRow(q2);
    querySetCell(q2, "year", y);
    querySetCell(q2, "employees", randRange(2,8));
    </cfscript>
</cfloop>

<cfsavecontent variable="chartxml">
<?xml version="1.0" encoding="UTF-8"?>
<frameChart is3D="false">
<yAxis isReversed="true">    
</yAxis>
</frameChart>
</cfsavecontent>

<cfchart chartWidth="400" chartHeight="400" title="Sales" font="arial" style="#chartxml#">
    <cfchartseries type="line" query="q2" itemColumn="year" valueColumn="employees" seriesLabel="Employees" />
</cfchart>

Запрос сверху просто использовался для тестирования. XML пришел от дизайнера диаграмм. Я удалил все, кроме материала yAxis, который использовал isReverse. Наконец, обратите внимание, как я определяю стиль в теге диаграммы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...