.NET Venn图库

10

是否有开源或付费的.NET库可以创建具有以下两个重要特点的图表:

  • 创建维恩图(Venn Diagrams)
  • 将图表保存为图像?

3
听起来是一个不错的项目开始。 - Babak Naffas
Google API Venn不支持https:。它只呈现一个img标签,其中包含对其http:URL的引用,如果您在https协议中,则会出现混合安全警告。 - user484527
2个回答

3

不确定这项功能在二月是否可用。但是Google图表API支持维恩图表:http://code.google.com/apis/chart/image/docs/chart_wizard.html

例如:http://chart.apis.google.com/chart?chs=200x80&cht=v&chd=t:100,50,80,20,10,20,5&chdl=DataA|DataB|DataC

返回一个带有以下属性的维恩图表:

chr=200x80(图像大小)(最大可以为300000个像素) cht=v(维恩图表类型) chd=t:(A的大小,B的大小,C的大小,A和B的交集大小,A和C的交集大小,B和C的交集大小,A和B和C的交集大小) chdl=(数据标签)

你可以使用这个方法来处理1、2或3个圆。(对于两个圆,只需在C的位置上将大小参数设为-1,并且只提供两个标签。)

chart.apis.google.com/chart?chs=200x100&cht=v&chd=t:100,100,-1,10,-1,-1,-1&chdl=DataA|DataB

你可以在任何能够加载图像并因此保存此查询结果的应用程序中实现此功能。

2

我不知道目前是否有这样的工具存在,但是创建一个并不难。使用一个Image对象来代表图表。使用Graphics.FillEllipse绘制圆形,使用Graphics.DrawString在图表上打印统计数据。最后使用Image.Save方法将图表保存到文件中。


3
绘制图形似乎是容易的部分。计算重叠部分可能并不那么容易。 - detroitpro
足够正确。使用画笔的 alpha 组件可以使重叠工作,但也会导致形状的其余部分变得模糊。 - Ken Wayne VanderLinde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接