현재 툴팁이 켜져있는 분산 형 차트가 있습니다. API에 따르면 툴팁에 자바 스크립트 (및 HTML)를 사용할 수 있습니다. 내가하고 싶은 것은 사용자가 데이터 포인트 위로 마우스를 가져 가서 그에 대한 더 많은 정보를 볼 수있을뿐 아니라 툴팁에서 다른 그래프를 볼 수도 있습니다. {{}} 단순히 마찬가지로 장고 변수와, {%의 %}이다 있습니다 장고 논리 문에 동봉Google 차트 - 툴팁 내의 그래프
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var aPart = (4 - 16)/({{ lowest_velocity }} - {{ highest_velocity }});
var bPart = 4 - {{ lowest_velocity }} * aPart;
var options = {width: {{ img_width }}, height: {{ img_height }}, title: 'Results for model: {{ current_model_selection }}, build: {{ current_build_selection }}', chartArea: {left: 50, top: 100}, backgroundColor: 'transparent', colors: ['#3cb521'], legend: 'none',
hAxis: {viewWindow: {min: {{ tunnelminx }}, max: {{ tunnelmaxx }}}, agridlines: {count: 0}}, pointSize: 8, fontName: '"Arial"',
vAxis: {viewWindow: {min: {{ tunnelminy }}, max: {{ tunnelmaxy }}}, agridlines: {count: 0}}, tooltip: { isHtml: true },
series: [
{% for lst in velocity_pressure_list %}
{% if lst.1 == 0%} {# If pressure == 0 #}
{color: 'red', pointSize: aPart * {{lst.0}} + bPart},
{% else %} {# Else is pressure so change size #}
{pointSize: aPart * {{lst.0}} + bPart},
{% endif %}
{% endfor %}
]
};
google.load("visualization", "1", {packages: ["corechart", "table"]});
google.setOnLoadCallback(drawChart);
var data;
function drawChart() {
data = new google.visualization.DataTable();
data.addColumn('number', 'X');
{% for column in num_columns %}
data.addColumn('number', 'Y');
data.addColumn({type: 'string', label: 'Probe Details', role: 'tooltip', 'p': {'html': true}});
{% endfor %}
data.addRows({{ vtime_cd_list_of_lists|safe }});
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
google.visualization.events.addListener(chart, 'select',
function() {
table.setSelection([
{row: chart.getSelection()[0].row}
]);
});
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true});
}
</script>
부품. 누군가가 이것에 대해 어떻게 움직이는 지에 대한 아이디어가 있다면 크게 고맙겠습니다.
마음에 떠오르는 두 가지 메커니즘이 있으며 동적 차트가 생성되지 않습니다. 첫 번째 방법은 [img] 태그에서 [src]로 [Google Chart Image] (https://developers.google.com/chart/image/docs/gallery/chart_gall) API를 사용하는 것입니다. 두 번째 메커니즘은 [차트를 PNG로 생성] (https://developers.google.com/chart/interactive/docs/printing)이며, 다시 'img.src' 매개 변수를 사용합니다. 둘 다 역동적 인 차트를 줄 수도 없습니다. –
전적으로 가능해야하는 것처럼 들립니다. 구현에서 직면하게 될 가장 큰 도전은 차트 초기화가 다소 복잡한 프로세스라는 것입니다. 어떻게 든 각 도구 설명 차트에 대해 DataTable (또는 아마도 DataView)을 설정해야합니다. 차트 및 DataTable 또는 DataView의 초기화를 캡슐화하고 그릴 차트의 컨테이너 ID 매개 변수 및 데이터를 초기화하는 데 필요한 매개 변수를 사용하는 함수를 개발하는 것으로 시작합니다. 그런 다음이 함수를 onMouseOver 또는 유사한 이벤트를 호출하여 테이블을 그립니다. – nbering
@JeremyFaller PNG 메서드를 사용했습니다. 아주 좋아 보이고 잘 작동합니다. 답변을 추가하려면 올바른 것으로 표시 할 수 있습니다. 마찬가지로 API 내에서이 예를 제공하는 것이 아마도 소수의 사람들에게 도움이 될 것입니다. 제가 100 % 가능하다는 것을 입증하고 훌륭해 보입니다. –