我正在使用谷歌图表 API 来绘制散点图,有没有办法在散点图中标记每个节点。我猜它只使用数值.....我可以使用的任何其他工具。例子:
Name Age Response
Allen 12 40
Tom 16 45
Sim 17 60
X 和 y 轴将分别是年龄和响应,但图上的每个节点都可以标记为 Allen、Tom、Sim
我正在使用谷歌图表 API 来绘制散点图,有没有办法在散点图中标记每个节点。我猜它只使用数值.....我可以使用的任何其他工具。例子:
Name Age Response
Allen 12 40
Tom 16 45
Sim 17 60
X 和 y 轴将分别是年龄和响应,但图上的每个节点都可以标记为 Allen、Tom、Sim
您可以通过添加工具提示来标记 Google ScatterChart 中的点。将鼠标悬停在数据点上时会显示工具提示。
数据表的代码应如下所示:
var dt = new google.visualization.DataTable(
{
cols: [{id: 'A', label: 'Age', type: 'number'},
{id: 'B', label: 'Response', type: 'number'},
{id: 'C', label: 'Name', type:'tooltip', p:{role:'tooltip'}}
],
rows: [{c:[{v: 12}, {v: 40}, {v:'Allen'}]},
{c:[{v: 16}, {v: 45}, {v:'Tom'}]},
{c:[{v: 17}, {v: 60}, {v:'Sim'}]}
]
},
0.6
)
当您将鼠标悬停在这些点上时,名称将显示出来。
工具提示链接: https ://developers.google.com/chart/interactive/docs/roles#tooltiprole
链接到 DataTable 类(用于格式化数据): https ://developers.google.com/chart/interactive/docs/reference#DataTable
注意:如果您尝试绘制多个数据系列,则必须为每个系列指定一个工具提示。例如,如果您为平均响应添加单独的数据系列,代码将更改为:
var dt = new google.visualization.DataTable(
{
cols: [{id: 'A', label: 'Age', type: 'number'},
{id: 'B', label: 'Response', type: 'number'},
{id: 'C', label: 'Name', type:'tooltip', p:{role:'tooltip'}},
{id: 'D', label: 'AvgResp', type: 'number'},
{id: 'E', label: 'Category', type:'tooltip', p:{role:'tooltip'}}
],
rows: [{c:[{v: 12}, {v: 40}, {v:'Allen'}, {v:null}, {v:null}]},
{c:[{v: 16}, {v: 45}, {v:'Tom'}, {v:null}, {v:null}]},
{c:[{v: 17}, {v: 60}, {v:'Sim'}, {v:null}, {v:null}]},
{c:[{v: 12}, {v: null}, {v:null}, {v: 35}, {v:'Avg. 12yo'}]},
{c:[{v: 16}, {v: null}, {v:null}, {v: 48}, {v:'Avg. 16yo'}]},
{c:[{v: 17}, {v: null}, {v:null}, {v: 52}, {v:'Avg. 17yo'}]}
]
},
0.6
)
我在为图表本身的点绘制标签时遇到了同样的问题。谷歌图表现在已经解决了这个问题。您可以再添加一个属性为annotation
. 您可以通过它添加标签。
看看它的样子。通常我会在数字上做注释,然后解释这些数字是关于什么的。
var data = google.visualization.arrayToDataTable([
['Age', 'Weight', {role: 'annotation'}],
[ 8, 12, 'Point 1'],
[ 1, 5.5, 'Point 2'],
[ 11, 14, 'Point 3'],
[ 4, 5, 'Point 4'],
[ 3, 3.5, 'Point 5'],
[ 6.5, 7, 'Point 6']
]);
要使用可视化 API 执行此操作,只需使用 cell_object (https://google-developers.appspot.com/chart/interactive/docs/reference#cell_object)。google API 游乐场对我很有用,可能对你有用:https ://code.google.com/apis/ajax/playground
这是一些代码的示例:
var data = google.visualization.arrayToDataTable([
['Age','Response'],
[ {v:12, f: 'Allen'}, 40],
[ {v:16, f: 'Tom'}, 45],
[ {v:17, f: 'Sim'}, 60]
]);
希望有帮助!
https://developers.google.com/chart/image/docs/gallery/scatter_charts#chart_types
此页面记录了为图着色和添加图例。
使用谷歌图表你不能,除非使用图例和交叉引用。我不知道有任何散点图创建者会标记各个图。