维恩图此加载项构建具有恒定或比例面积的维恩图。前者最多容纳五个变量,后者仅受变量对应计数分布的限制。
比例面积图调用了 Lee Wilkinson 友情提供的方法,并记录在他的论文“精确和近似面积比例圆维恩和欧拉图”中,网址为http://www.cs.uic.edu/~wilkinson/Publications/venneuler.pdf相应的计算是在 Java 中执行的,因此您必须在计算机上安装 Java 才能运行它们。
输入可以是包含 0-1 个变量的单个表,也可以是包含项目列表的多个表。有关详细信息,请在安装插件后单击插件 -> 维恩图 -> 帮助。
下面是一个示例屏幕截图。

2015 年 5 月 4 日更新:加载项现在在显示中获取频率变量的格式。
2018 年 12 月 20 日更新:Mac 和 Java 上的修复cN0[idx] 错误。
消费者和市场研究数据可视化探索性数据分析生命科学统计数据公用事业回复:维恩图@russ_wolfinger我最近再次开始使用列表(包含蛋白质登录号列表的多个表格),我在我的 M1 Mac 上收到此错误消息:“
在访问或评估 'jg:fmt_list' 时,符号“fmt_list”未在命名空间“jg”中定义,jg:fmt_list/*###*/”它仍然生成一个包含 0 和 1 的表,但不是图表本身。 我在 JMP Pro 17 和 18 beta 上遇到了同样的问题。 有什么线索吗?
回复:维恩图惊人的! 工作起来很有魅力。 我真的在想我将不得不继续进行同样的徒劳无功,卸载/重新安装 JAVA,重置家庭环境等。非常感谢。
回复:维恩图@abmayfield感谢您报告此事。事实证明,路径中空格的修复只适用于 Windows,而在 Apple M1 上会造成混乱。我刚刚上传了一个应该可以工作的新版本。顺便说一句,java 类不需要 web;这条路正是已故利兰·威尔金森 (Leland Wilkinson) 的命名方式,也是对他的致敬。
回复:维恩图在将我的 Mac(到 Ventura)和我的 JMP 升级到 JMP Pro 17 后,我开始遇到同样的问题。 现在我收到一条错误消息“java.lang.ClassNotFoundException: edu.uic.ncdm.venn.Venn”这是否意味着从此 UIC 网站调用的原始 Java 脚本不再起作用/无法调用?
回复:维恩图亲爱的@russ_wolfinger !
我非常感谢你的耐心、工作、专业、奉献和你花费的时间。 我希望我能为你的帖子设置 10 个荣誉。 现在效果很好! 你是个了不起的人!
谨致问候!
迈克尔

回复:维恩图@纳扎科夫斯基抱歉,Java 类的打印造成了这个错误——我刚刚修复了这个问题并上传了一个新版本。请重新下载加载项并重试。
回复:维恩图亲爱的@russ_wolfinger ,我做到了,同时启动加载项(图片) 出现另一个错误,而最终没有构建图表。 但是,重要的是,输出文件已经生成与适当的内容。 此处提供了错误报告的复制文本 - 我可以将 .TXT 文件附在消息中。 不知道这次是不是跟User文件夹名里面的空格有关。 谢谢!

报错内容:
[动态链接本机方法 java.lang.Object.registerNatives ... JNI]
[注册 JNI 原生方法 java.lang.Object.hashCode]
【注册JNI原生方法java.lang.Object.wait】
[注册 JNI 本地方法 java.lang.Object.notify]
[注册 JNI 本地方法 java.lang.Object.notifyAll]
[注册 JNI 本地方法 java.lang.Object.clone]
[动态链接本机方法 java.lang.System.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.System.currentTimeMillis]
【注册JNI原生方法java.lang.System.nanoTime】
[注册 JNI 本地方法 java.lang.System.arraycopy]
[动态链接本机方法 java.lang.Thread.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.Thread.start0]
[注册 JNI 本地方法 java.lang.Thread.stop0]
【注册JNI原生方法java.lang.Thread.isAlive】
【注册JNI原生方法java.lang.Thread.suspend0】
[注册JNI本地方法java.lang.Thread.resume0]
[注册JNI原生方法java.lang.Thread.setPriority0]
【注册JNI原生方法java.lang.Thread.yield】
【注册JNI原生方法java.lang.Thread.sleep】
【注册JNI原生方法java.lang.Thread.currentThread】
[注册 JNI 本地方法 java.lang.Thread.countStackFrames]
[注册 JNI 本地方法 java.lang.Thread.interrupt0]
[注册 JNI 本地方法 java.lang.Thread.isInterrupted]
【注册JNI原生方法java.lang.Thread.holdsLock】
[注册 JNI 本地方法 java.lang.Thread.getThreads]
【注册JNI原生方法java.lang.Thread.dumpThreads】
[注册 JNI 本地方法 java.lang.Thread.setNativeName]
[动态链接本机方法 java.security.AccessController.getStackAccessControlContext ... JNI]
[动态链接本机方法 java.security.AccessController.getInheritedAccessControlContext ... JNI]
[动态链接本机方法 java.lang.Class.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.Class.getName0]
[注册 JNI 本地方法 java.lang.Class.getSuperclass]
[注册 JNI 本地方法 java.lang.Class.getInterfaces0]
[注册 JNI 本地方法 java.lang.Class.isInterface]
[注册 JNI 本地方法 java.lang.Class.getSigners]
[注册 JNI 原生方法 java.lang.Class.setSigners]
[注册 JNI 本地方法 java.lang.Class.isArray]
[注册 JNI 本地方法 java.lang.Class.isPrimitive]
[注册 JNI 本地方法 java.lang.Class.getComponentType]
[注册 JNI 原生方法 java.lang.Class.getModifiers]
[注册 JNI 本地方法 java.lang.Class.getDeclaredFields0]
[注册 JNI 本地方法 java.lang.Class.getDeclaredMethods0]
[注册 JNI 原生方法 java.lang.Class.getDeclaredConstructors0]
[注册 JNI 本地方法 java.lang.Class.getProtectionDomain0]
[注册 JNI 本地方法 java.lang.Class.getDeclaredClasses0]
[注册 JNI 本地方法 java.lang.Class.getDeclaringClass0]
[注册 JNI 本地方法 java.lang.Class.getGenericSignature0]
[注册 JNI 本地方法 java.lang.Class.getRawAnnotations]
【注册JNI原生方法java.lang.Class.getConstantPool】
[注册 JNI 本地方法 java.lang.Class.desiredAssertionStatus0]
[注册 JNI 本地方法 java.lang.Class.getEnclosingMethod0]
[注册 JNI 本地方法 java.lang.Class.getRawTypeAnnotations]
[动态链接本机方法 java.lang.ClassLoader.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.ClassLoader.retrieveDirectives]
[动态链接本机方法 java.security.AccessController.doPrivileged ... JNI]
[动态链接本机方法 java.lang.Class.forName0 ... JNI]
[动态链接本机方法 sun.misc.Unsafe.registerNatives ... JNI]
[注册 JNI 原生方法 sun.misc.Unsafe.getObject]
[注册 JNI 原生方法 sun.misc.Unsafe.putObject]
【注册JNI原生方法sun.misc.Unsafe.getObjectVolatile】
【注册JNI原生方法sun.misc.Unsafe.putObjectVolatile】
【注册JNI原生方法sun.misc.Unsafe.getBoolean】
【注册JNI原生方法sun.misc.Unsafe.putBoolean】
[注册JNI原生方法sun.misc.Unsafe.getBooleanVolatile]
【注册JNI原生方法sun.misc.Unsafe.putBooleanVolatile】
[注册 JNI 原生方法 sun.misc.Unsafe.getByte]
[注册 JNI 原生方法 sun.misc.Unsafe.putByte]
[注册JNI原生方法sun.misc.Unsafe.getByteVolatile]
[注册JNI原生方法sun.misc.Unsafe.putByteVolatile]
[注册 JNI 原生方法 sun.misc.Unsafe.getShort]
[注册 JNI 原生方法 sun.misc.Unsafe.putShort]
【注册JNI原生方法sun.misc.Unsafe.getShortVolatile】
[注册JNI原生方法sun.misc.Unsafe.putShortVolatile]
[注册JNI原生方法sun.misc.Unsafe.getChar]
【注册JNI原生方法sun.misc.Unsafe.putChar】
【注册JNI原生方法sun.misc.Unsafe.getCharVolatile】
【注册JNI原生方法sun.misc.Unsafe.putCharVolatile】
[注册JNI原生方法sun.misc.Unsafe.getInt]
【注册JNI原生方法sun.misc.Unsafe.putInt】
【注册JNI原生方法sun.misc.Unsafe.getIntVolatile】
【注册JNI原生方法sun.misc.Unsafe.putIntVolatile】
【注册JNI原生方法sun.misc.Unsafe.getLong】
【注册JNI原生方法sun.misc.Unsafe.putLong】
【注册JNI原生方法sun.misc.Unsafe.getLongVolatile】
【注册JNI原生方法sun.misc.Unsafe.putLongVolatile】
【注册JNI原生方法sun.misc.Unsafe.getFloat】
【注册JNI原生方法sun.misc.Unsafe.putFloat】
【注册JNI原生方法sun.misc.Unsafe.getFloatVolatile】
【注册JNI原生方法sun.misc.Unsafe.putFloatVolatile】
【注册JNI原生方法sun.misc.Unsafe.getDouble】
【注册JNI原生方法sun.misc.Unsafe.putDouble】
【注册JNI原生方法sun.misc.Unsafe.getDoubleVolatile】
[注册JNI原生方法sun.misc.Unsafe.putDoubleVolatile]
[注册 JNI 原生方法 sun.misc.Unsafe.getByte]
[注册 JNI 原生方法 sun.misc.Unsafe.putByte]
[注册 JNI 原生方法 sun.misc.Unsafe.getShort]
[注册 JNI 原生方法 sun.misc.Unsafe.putShort]
[注册JNI原生方法sun.misc.Unsafe.getChar]
【注册JNI原生方法sun.misc.Unsafe.putChar】
[注册JNI原生方法sun.misc.Unsafe.getInt]
【注册JNI原生方法sun.misc.Unsafe.putInt】
【注册JNI原生方法sun.misc.Unsafe.getLong】
【注册JNI原生方法sun.misc.Unsafe.putLong】
【注册JNI原生方法sun.misc.Unsafe.getFloat】
【注册JNI原生方法sun.misc.Unsafe.putFloat】
【注册JNI原生方法sun.misc.Unsafe.getDouble】
【注册JNI原生方法sun.misc.Unsafe.putDouble】
[注册JNI原生方法sun.misc.Unsafe.getAddress]
[注册 JNI 原生方法 sun.misc.Unsafe.putAddress]
[注册JNI原生方法sun.misc.Unsafe.allocateMemory]
[注册JNI原生方法sun.misc.Unsafe.reallocateMemory]
[注册JNI原生方法sun.misc.Unsafe.freeMemory]
[注册JNI原生方法sun.misc.Unsafe.objectFieldOffset]
[注册JNI原生方法sun.misc.Unsafe.staticFieldOffset]
[注册JNI原生方法sun.misc.Unsafe.staticFieldBase]
[注册 JNI 原生方法 sun.misc.Unsafe.ensureClassInitialized]
[注册JNI原生方法sun.misc.Unsafe.arrayBaseOffset]
[注册JNI原生方法sun.misc.Unsafe.arrayIndexScale]
[注册JNI原生方法sun.misc.Unsafe.addressSize]
【注册JNI原生方法sun.misc.Unsafe.pageSize】
[动态链接本机方法 java.lang.Throwable.fillInStackTrace ... JNI]
[注册 JNI 原生方法 sun.misc.Unsafe.getObject]
[注册 JNI 原生方法 sun.misc.Unsafe.putObject]
【注册JNI原生方法sun.misc.Unsafe.getObjectVolatile】
【注册JNI原生方法sun.misc.Unsafe.putObjectVolatile】
【注册JNI原生方法sun.misc.Unsafe.getBoolean】
【注册JNI原生方法sun.misc.Unsafe.putBoolean】
[注册JNI原生方法sun.misc.Unsafe.getBooleanVolatile]
【注册JNI原生方法sun.misc.Unsafe.putBooleanVolatile】
[注册 JNI 原生方法 sun.misc.Unsafe.getByte]
[注册 JNI 原生方法 sun.misc.Unsafe.putByte]
[注册JNI原生方法sun.misc.Unsafe.getByteVolatile]
[注册JNI原生方法sun.misc.Unsafe.putByteVolatile]
[注册 JNI 原生方法 sun.misc.Unsafe.getShort]
[注册 JNI 原生方法 sun.misc.Unsafe.putShort]
【注册JNI原生方法sun.misc.Unsafe.getShortVolatile】
[注册JNI原生方法sun.misc.Unsafe.putShortVolatile]
[注册JNI原生方法sun.misc.Unsafe.getChar]
【注册JNI原生方法sun.misc.Unsafe.putChar】
【注册JNI原生方法sun.misc.Unsafe.getCharVolatile】
【注册JNI原生方法sun.misc.Unsafe.putCharVolatile】
[注册JNI原生方法sun.misc.Unsafe.getInt]
【注册JNI原生方法sun.misc.Unsafe.putInt】
【注册JNI原生方法sun.misc.Unsafe.getIntVolatile】
【注册JNI原生方法sun.misc.Unsafe.putIntVolatile】
【注册JNI原生方法sun.misc.Unsafe.getLong】
【注册JNI原生方法sun.misc.Unsafe.putLong】
【注册JNI原生方法sun.misc.Unsafe.getLongVolatile】
【注册JNI原生方法sun.misc.Unsafe.putLongVolatile】
【注册JNI原生方法sun.misc.Unsafe.getFloat】
【注册JNI原生方法sun.misc.Unsafe.putFloat】
【注册JNI原生方法sun.misc.Unsafe.getFloatVolatile】
【注册JNI原生方法sun.misc.Unsafe.putFloatVolatile】
【注册JNI原生方法sun.misc.Unsafe.getDouble】
【注册JNI原生方法sun.misc.Unsafe.putDouble】
【注册JNI原生方法sun.misc.Unsafe.getDoubleVolatile】
[注册JNI原生方法sun.misc.Unsafe.putDoubleVolatile]
[注册 JNI 原生方法 sun.misc.Unsafe.getByte]
[注册 JNI 原生方法 sun.misc.Unsafe.putByte]
[注册 JNI 原生方法 sun.misc.Unsafe.getShort]
[注册 JNI 原生方法 sun.misc.Unsafe.putShort]
[注册JNI原生方法sun.misc.Unsafe.getChar]
【注册JNI原生方法sun.misc.Unsafe.putChar】
[注册JNI原生方法sun.misc.Unsafe.getInt]
【注册JNI原生方法sun.misc.Unsafe.putInt】
【注册JNI原生方法sun.misc.Unsafe.getLong】
【注册JNI原生方法sun.misc.Unsafe.putLong】
【注册JNI原生方法sun.misc.Unsafe.getFloat】
【注册JNI原生方法sun.misc.Unsafe.putFloat】
【注册JNI原生方法sun.misc.Unsafe.getDouble】
【注册JNI原生方法sun.misc.Unsafe.putDouble】
[注册JNI原生方法sun.misc.Unsafe.getAddress]
[注册 JNI 原生方法 sun.misc.Unsafe.putAddress]
[注册JNI原生方法sun.misc.Unsafe.allocateMemory]
[注册JNI原生方法sun.misc.Unsafe.reallocateMemory]
[注册JNI原生方法sun.misc.Unsafe.freeMemory]
[注册JNI原生方法sun.misc.Unsafe.objectFieldOffset]
[注册JNI原生方法sun.misc.Unsafe.staticFieldOffset]
[注册JNI原生方法sun.misc.Unsafe.staticFieldBase]
[注册 JNI 原生方法 sun.misc.Unsafe.ensureClassInitialized]
[注册JNI原生方法sun.misc.Unsafe.arrayBaseOffset]
[注册JNI原生方法sun.misc.Unsafe.arrayIndexScale]
[注册JNI原生方法sun.misc.Unsafe.addressSize]
【注册JNI原生方法sun.misc.Unsafe.pageSize】
[注册JNI原生方法sun.misc.Unsafe.defineClass]
[注册 JNI 原生方法 sun.misc.Unsafe.allocateInstance]
【注册JNI原生方法sun.misc.Unsafe.monitorEnter】
【注册JNI原生方法sun.misc.Unsafe.monitorExit】
【注册JNI原生方法sun.misc.Unsafe.tryMonitorEnter】
[注册 JNI 原生方法 sun.misc.Unsafe.throwException]
[注册 JNI 原生方法 sun.misc.Unsafe.compareAndSwapObject]
[注册JNI原生方法sun.misc.Unsafe.compareAndSwapInt]
【注册JNI原生方法sun.misc.Unsafe.compareAndSwapLong】
[注册 JNI 原生方法 sun.misc.Unsafe.putOrderedObject]
[注册 JNI 原生方法 sun.misc.Unsafe.putOrderedInt]
[注册JNI原生方法sun.misc.Unsafe.putOrderedLong]
【注册JNI原生方法sun.misc.Unsafe.park】
【注册JNI原生方法sun.misc.Unsafe.unpark】
[注册 JNI 原生方法 sun.misc.Unsafe.getLoadAverage]
[注册JNI原生方法sun.misc.Unsafe.copyMemory]
【注册JNI原生方法sun.misc.Unsafe.setMemory】
[注册JNI原生方法sun.misc.Unsafe.defineAnonymousClass]
[注册 JNI 本地方法 sun.misc.Unsafe.shouldBeInitialized]
【注册JNI原生方法sun.misc.Unsafe.loadFence】
【注册JNI原生方法sun.misc.Unsafe.storeFence】
[注册JNI原生方法sun.misc.Unsafe.fullFence]
[动态链接本机方法 sun.reflect.Reflection.getCallerClass ... JNI]
[动态链接本机方法 java.lang.Class.getPrimitiveClass ... JNI]
[动态链接本机方法 java.lang.Float.floatToRawIntBits ... JNI]
[动态链接本机方法 java.lang.Double.doubleToRawLongBits ... JNI]
[动态链接本机方法 java.lang.Double.longBitsToDouble ... JNI]
[动态链接本机方法 sun.misc.VM.initialize ... JNI]
[动态链接本机方法 java.lang.System.initProperties ... JNI]
[动态链接本机方法 java.lang.String.intern ... JNI]
[动态链接本机方法 java.lang.Object.getClass ... JNI]
[动态链接本机方法 sun.reflect.Reflection.getClassAccessFlags ... JNI]
[动态链接本机方法 sun.reflect.NativeConstructorAccessorImpl.newInstance0 ... JNI]
[动态链接本机方法 java.lang.Runtime.maxMemory ... JNI]
[动态链接本机方法 java.io.FileInputStream.initIDs ... JNI]
[动态链接本机方法 java.io.FileDescriptor.initIDs ... JNI]
[动态链接本机方法 java.io.FileDescriptor.set ... JNI]
[动态链接本机方法 java.io.FileOutputStream.initIDs ... JNI]
[动态链接本机方法 java.security.AccessController.doPrivileged ... JNI]
[动态链接本机方法 java.lang.Class.isAssignableFrom ... JNI]
[动态链接本机方法 java.lang.System.setIn0 ... JNI]
[动态链接本机方法 java.util.concurrent.atomic.AtomicLong.VMSupportsCS8 ... JNI]
[动态链接本机方法 java.lang.System.setOut0 ... JNI]
[动态链接本机方法 java.lang.System.setErr0 ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.initIDs ... JNI]
[动态链接本机方法 java.lang.System.mapLibraryName ... JNI]
[动态链接本机方法 java.lang.ClassLoader.findBuiltinLib ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.getBooleanAttributes ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.canonicalize0 ... JNI]
[动态链接本机方法 java.lang.ClassLoader$NativeLibrary.load ... JNI]
[动态链接本机方法 sun.misc.Signal.findSignal ... JNI]
[动态链接本机方法 sun.misc.Signal.handle0 ... JNI]
[动态链接本机方法 sun.io.Win32ErrorMode.setErrorMode ... JNI]
[动态链接本机方法 java.lang.Compiler.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.Compiler.compileClass]
[注册 JNI 本地方法 java.lang.Compiler.compileClasses]
[注册 JNI 本地方法 java.lang.Compiler.command]
[注册 JNI 本地方法 java.lang.Compiler.enable]
[注册 JNI 本地方法 java.lang.Compiler.disable]
[动态链接本机方法 java.io.FileInputStream.open0 ... JNI]
[动态链接本机方法 java.io.FileInputStream.readBytes ... JNI]
[动态链接本机方法 java.io.FileInputStream.available0 ... JNI]
[动态链接本机方法 java.lang.reflect.Array.newArray ... JNI]
[动态链接本机方法 java.lang.Runtime.availableProcessors ... JNI]
[动态链接本机方法 java.io.FileInputStream.close0 ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.list ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.canonicalizeWithPrefix0 ... JNI]
[动态链接本机方法 sun.misc.URLClassPath.getLookupCacheURLs ... JNI]
[动态链接本机方法 java.lang.invoke.MethodHandleNatives.registerNatives ... JNI]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.init]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.expand]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.resolve]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.getConstant]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.getNamedCon]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.getMembers]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.objectFieldOffset]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.setCallSiteTargetNormal]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.setCallSiteTargetVolatile]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.staticFieldOffset]
[注册 JNI 本地方法 java.lang.invoke.MethodHandleNatives.staticFieldBase]
[注册 JNI 原生方法 java.lang.invoke.MethodHandleNatives.getMemberVMInfo]
[注册 JNI 本地方法 java.lang.invoke.MethodHandle.invoke]
[注册 JNI 本地方法 java.lang.invoke.MethodHandle.invokeExact]
[动态链接本机方法 jdk.internal.util.EnvUtils.getEnvVar ... JNI]
[动态链接本机方法 java.io.FileOutputStream.open0 ... JNI]
[动态链接本机方法 java.io.FileOutputStream.writeBytes ... JNI]
[动态链接本机方法 java.io.FileOutputStream.close0 ... JNI]
[动态链接本机方法 java.lang.ClassLoader.findLoadedClass0 ... JNI]
[动态链接本机方法 java.lang.ClassLoader.findBootstrapClass ... JNI]
[动态链接本机方法 java.lang.ClassLoader$NativeLibrary.find ... JNI]
[动态链接本机方法 java.security.AccessController.doPrivileged ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.initIDs ... JNI]
[动态链接本机方法 java.io.WinNTFileSystem.getLastModifiedTime ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.open ... JNI]
[动态链接本机方法 sun.misc.Perf.registerNatives ... JNI]
【注册JNI原生方法sun.misc.Perf.attach】
【注册JNI原生方法sun.misc.Perf.detach】
【注册JNI原生方法sun.misc.Perf.createLong】
【注册JNI原生方法sun.misc.Perf.createByteArray】
【注册JNI原生方法sun.misc.Perf.highResCounter】
【注册JNI原生方法sun.misc.Perf.highResFrequency】
[动态链接本机方法 java.util.zip.ZipFile.getTotal ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.startsWithLOC ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntry ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryFlag ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryBytes ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryTime ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryCrc ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntrySize ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryCSize ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.getEntryMethod ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.freeEntry ... JNI]
[动态链接本机方法 java.util.zip.Inflater.initIDs ... JNI]
[动态链接本机方法 java.util.zip.Inflater.init ... JNI]
[动态链接本机方法 java.util.zip.Inflater.inflateBytes ... JNI]
[动态链接本机方法 java.util.zip.ZipFile.read ... JNI]
[动态链接本机方法 java.util.zip.Inflater.reset ... JNI]
[动态链接本机方法 java.util.jar.JarFile.getMetaInfEntryNames ... JNI]
[动态链接本机方法 java.lang.Package.getSystemPackage0 ... JNI]
[动态链接本机方法 java.lang.ClassLoader.defineClass1 ... JNI]
[动态链接本机方法 java.security.AccessController.doPrivileged ... JNI]
[动态链接本机方法 java.lang.Class.isInstance ... JNI]
[动态链接本机方法 java.lang.ProcessEnvironment.environmentBlock ... JNI]
[动态链接本机方法 java.awt.Toolkit.initIDs ... JNI]
[动态链接本机方法 java.awt.Insets.initIDs ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.initIDs ... JNI]
[动态链接本机方法 sun.java2d.SurfaceData.initIDs ... JNI]
[动态链接本机方法 java.awt.image.ColorModel.initIDs ... JNI]
[动态链接本机方法 java.awt.image.IndexColorModel.initIDs ... JNI]
[动态链接本机方法 sun.java2d.pipe.SpanClipRenderer.initIDs ... JNI]
[动态链接本机方法 sun.java2d.pipe.Region.initIDs ... JNI]
[动态链接本机方法 java.awt.Component.initIDs ... JNI]
[动态链接本机方法 java.awt.AWTEvent.initIDs ... JNI]
[动态链接本机方法 java.awt.event.InputEvent.initIDs ... JNI]
[动态链接本机方法 sun.awt.windows.WObjectPeer.initIDs ... JNI]
[动态链接本机方法 java.awt.Font.initIDs ... JNI]
[动态链接本机方法 sun.reflect.NativeMethodAccessorImpl.invoke0 ... JNI]
[动态链接本机方法 sun.java2d.Disposer.initIDs ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.startToolkitThread ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.init ... JNI]
[动态链接本机方法 java.lang.System.identityHashCode ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.eventLoop ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.setDynamicLayoutNative ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.setExtraMouseButtonsEnabledNative ... JNI]
[动态链接本机方法 java.util.zip.Inflater.end ... JNI]
[动态链接本机方法 sun.awt.windows.WToolkit.shutdown ... JNI]
回复:维恩图@纳扎科夫斯基感谢您在这方面的耐心配合。看起来问题出在您的用户名路径中的空格,类似于https://community.jmp.com/t5/Discussions/Runprogram-with-Space-Char-in-FilePath/td-p/337682 .我刚刚推送了一个更新的插件,现在应该可以使用了。
回复:维恩图@纳扎科夫斯基让我们继续跟踪它。如果您现在愿意,请按照以下步骤将整个输出发送给我:
1. 确保将 VennDiagrams.jar 和 venn_in.txt 复制到 C:\Users\Michael Nazarkovsky\ 文件夹中
2. 运行与之前相同的 java 命令,但将以下内容添加到末尾:“> java_log.txt”。这会将所有输出转储到文件 java_log.txt 中。
3.检查venn_out1.txt是否在同一文件夹中创建。如果没有,请通过电子邮件将 java_log.txt 发送至russ.wolfinger@jmp.com .如果输出文件是在此处创建的,则加载项文件夹可能存在权限问题。
回复:维恩图亲爱的@russ_wolfinger
我做到了 - 是的,出现了指示器并且没有出现错误。 但是运行后没有输出文件。 这就是在所有情况下都不会生成 output.txt 的问题。 很奇怪。 非常抱歉占用了您的时间——尤其是在周末。 在运行 cmd 之前,我按照您的建议重新安装了插件 - 它也无助于正常启动插件。



回复:维恩图OK,我们更直接一点,直接在命令行运行java程序:
1. 打开命令提示符并 cd 到加载项文件夹,应该类似于 C:\Users\\AppData\Roaming\SAS\JMP\Addins\com.jmp.venn
2. 输入以下命令:java -verbose:class -verbose:jni -classpath VennDiagrams.jar edu.uic.ncdm.venn.Venn venn_in.txt venn_out1.txt(上面的 JSL 脚本有效地执行了这一行,没有使用详细选项运行程序。)
3. 这应该输出一堆以“[Loaded”和“[Dynamic-linking”开头的行,然后在几秒钟后生成文件 venn_out1.txt。您看到任何错误消息了吗?
我想知道这是否与文件权限有关。在文件资源管理器中,导航到加载项文件夹的上一级,例如 C:\Users\\AppData\Roaming\SAS\JMP\Addins\,右键单击 com.jmp,venn > Properties。取消选中“只读”并应用于整个文件夹。然后再次尝试上述步骤,或者如果您先将 VennDiagrams.jar 和 venn_in.txt 复制到其中,您甚至可以从任何可写文件夹运行 java 命令。
回复:维恩图不确定为什么 Java 程序没有为您运行。除了重新安装 Java 之外,您可能还需要重新下载并重新安装 Venn 插件。此外,如果您有另一台装有 JMP 的 Windows 或 Mac 机器,也值得一试。
回复:维恩图重新安装,同样的故事继续:(
回复:维恩图@russ_wolfinger ,对不起,确实是我的错误。 我添加了那个标志并运行了代码,没有任何错误警报。 但是,没有生成输出文件。 看起来很混乱,是的。 我还使用 JMP Pro 17 的 EA 版本对其进行了检查,但效果也不佳。 因此,脚本本身遇到了一些内部错误。 它可能与 JAVA 变量或其位置有关,因为加载项已将其警报发送到变量。 我将为我的 Win10-64 位重新安装 Java,然后再次运行插件。


回复:维恩图@纳扎科夫斯基, 在 JMP 脚本中,最后一行似乎丢失了。请加 ”);”到它的末尾并尝试再次运行。
回复:维恩图亲爱的@russ_wolfinger ,
检查主文件夹 - 没有输出文件。输入文件确实存在。
该脚本在新的 JMP 脚本窗口中运行时遇到故障。 看起来很基本的错误,但我不知道细节。 截图附上。
谢谢!


回复:维恩图@纳扎科夫斯基很好奇,我有完全相同的 JRE 并且它可以工作。让我们尝试以下独立测试:
1. 打开加载项主文件夹:单击视图 > 加载项,突出显示维恩图,然后单击链接的主文件夹。在此文件夹中,您应该会看到一个名为 venn_in.txt 的文件。这是用于计算比例面积位置的 java 例程的输入文件。对于具有六个 0-1 变量的示例数据,此文件应包含以下文本:
set area
A 4
B 6
A&B 2
C 3
B&C 2
D 2
B&D 1
C&D 1
B&C&D 1
E 7
D&E 1
F 3
A&F 2
B&F 2
A&B&F 1
E&F 1
如果此文件不存在,请使用上面的文本创建它。
2. 如果存在名为venn_out.txt 的文件,将其删除。
3. 打开 JMP 脚本窗口并运行以下代码:
HomeFolder = ConvertFilePath("$ADDIN_HOME(com.jmp.venn)", absolute, windows);
jarpath = ConvertFilePath("$ADDIN_HOME(com.jmp.venn)/VennDiagrams.jar",absolute,windows);
javaCommand = "java";
templateEngineResults = RunProgram(
Executable(javaCommand),
Options(evalList({"-classpath", jarPath, "edu.uic.ncdm.venn.Venn", HomeFolder || "venn_in.txt", HomeFolder || "venn_out.txt"})),
ReadFunction("text")
);
4. 代码应干净地运行 5-10 秒并创建 venn_out.txt。该文件应包含以下内容:
Name x-coordinate y-coordinate radius
A 165 397 115
B 324 419 149
C 464 418 101
D 437 304 94
E 350 165 115
F 222 289 115
回复:维恩图亲爱的拉斯,
谢谢! 你说的我都做了 截图附上。 一切都经过检查,无论如何都会出现相同的错误。 也许,这可能与JAVA版本或它的位置有关。 至少,生成了 VennSector 列。 但图表不是:(你的建议会很有帮助。
JMP 专业版 16,Windows 10。




回复:维恩图你好@纳扎科夫斯基,没有美元符号的环境变量JAVA_HOME看起来是正确的。让我们检查几件事:1。 JMP 日志中是否有任何消息?成功的运行应该包括类似“使用安装的 JRE 来自:C:\ProgramData\Oracle\Java\javapath\java.exe”的消息。2. 打开 Windows 命令提示符并键入“java -version”。您应该看到版本号和运行时环境号。然后输入“SET”并向下滚动以验证 JAVA_HOME 是否在环境变量中正确列出。
回复:维恩图亲爱的拉斯,
昨天我按照指示变量的路径安装了加载项和 JAVA - 尝试了 JAVA_HOME 和 $JAVA_HOM。 但同样的错误反复出现 - 在重新启动 PC 和我的 JMP Pro 16 之后。
你能给点建议吗? 视窗 10。



回复:维恩图嗨拉斯,
太好了,谢谢! 我明天会回来报告。 这是一种用于系统文献综述的奇怪的边界推动应用程序,我正在比较哪些参考文献是从 65 个不同信息源的独特搜索中返回的。 我可以将其减少到 50 没问题。 感谢您进行更改。 我有兴趣看看这是怎么回事。
凯西
回复:维恩图你好@caseylott感谢您报告这一问题。只需重新查看代码,就会发现有十个 0-1 变量的隐藏限制。你是我遇到的第一个尝试过更多的人。我刚刚将限制增加到 50 并更新了插件——请下载并重新安装。比例面积 Java 算法的复杂性随着变量数量的增加而增加,它是否会在超过 50 个合理的时间内产生有意义的结果值得怀疑。看起来你正在尝试大约 100 个。如果你不介意,请尝试设置50 或更少,如果您认为超越这个值值得一试,请告诉我。最好使用双向层次聚类或某种形式的降维(如 PCA)来发现这些 0-1 变量中的模式。
聚苯乙烯我们在 JMP 17 中推出了一个新的多变量嵌入平台,它将包含 T-SNE 和 UMAP。T-SNE 目前与 JMP Pro Early Adopter 6 一起提供,您可以在 jmp.com/earlyadopter 上申请。
回复:维恩图@russ_wolfinger
嗨拉斯,
我刚刚尝试在新计算机上运行加载项。 我按照说明设置 JAVA_HOME 位置,并按照与称为“具有六个 0-1 变量的单表”的示例数据相同的方式格式化我的数据表。 然后,我按如下方式设置工具对话框:将我的所有类别输入为 0-1 变量,并选中比例区域框(见下文)。当我点击确定时,我不断收到以下错误:不可订阅的值。 您知道为什么会发生这种情况以及我可以做些什么来解决它吗?
凯西


回复:维恩图知道了,谢谢拉斯!
回复:维恩图@罗斯米勒212它位于初始对话框中:加载项 > 维恩图 > 具有 0-1 变量的单表。
回复:维恩图感谢您的快速回复@russ_wolfinger
对话框中的哪个位置?

回复:维恩图@罗斯米勒212对话框中的格式变量允许您指定任何格式,包括百分比。
回复:维恩图嗨 Russ,你能根据源数据格式化标签吗?我以占总数的百分比为例,它显示 0.026 对 2.6%

回复:维恩图我非常感谢这个插件!
我最近在一些环境数据的非比例圆圈设置上使用了它,它生成了我见过的最漂亮的图表。
见下文

#自然被点亮
回复:维恩图你好@罗斯我根据您发布的计数创建了一个模拟表,它对我来说运行良好(见下图)。错误消息指示的 cmd.exe 窗口中是否有任何线索?你有没有按照上面的注释设置JAVA_HOME?加载项附带的示例数据是否会发生同样的事情?您使用的是 Windows 还是 Mac?

回复:维恩图你好,
当我尝试运行 proportional venns 时,我在日志中收到以下错误
计数 = [34、0、9、3、4、0、11、39];
“使用来自以下位置的已安装 JRE:C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe
C:\Windows\System32\java.exe"
错误:维恩图比例面积计算未成功完成。 检查 cmd.exe 窗口的详细信息和/或尝试不同的变量。
回复:维恩图谢谢,拉斯。 请注意,如果由于某种原因 JMP 在您的操作系统(Windows 或 Mac)上找不到 Java 运行时,您应该仍然能够设置 JAVA_HOME 并且将使用该运行时。 谢谢!!
回复:维恩图维恩朋友们,
德鲁·福利亚 ( @drewfoglia ) 刚刚做了一些很好的简化工作,减轻了在拟合比例面积图之前定义 JAVA_HOME 的需要。顶部更新的插件现在应该可以在 Windows 或 Mac 上自动找到 java——只需下载并将其拖到您的 JMP 窗口中即可重新安装。一如既往,如果您遇到任何问题或有改进的想法,请告诉我们。还想提及集成的 Venn 功能在JMP 基因组学和JMP临床.
回复:维恩图单击加载项 > 维恩图 > 帮助打开一个文档,其中包含有关如何定义 JAVA_HOME 环境变量的说明。 我们这样做是为了避免没有它可能发生的更复杂的问题。
回复:维恩图我不这么认为。 我不知道如何或在哪里定义 JAVA_HOME?
回复:维恩图@罗斯, 需要更多细节。你有没有定义JAVA_HOME?
回复:维恩图嗨,每当我运行超过 2 个组时,我都会收到上述与比例图相关的 JAVA 错误。
我该如何解决这个问题。
我是Windows 10。
谢谢
回复:维恩图道歉@Skilng和@ablavoie ,我忘记在 jmpaddin zip 文件中包含一个更新文件。请试一试新附件。在对话框中,您应该看到允许指定点的 X 和 Y 坐标的可选字段,以防您想要使用以前运行的结果或滚动自己的结果。
回复:维恩图@russ_wolfinger我看到了同样的错误@Skilng - 有没有可能解决这个问题? 这看起来是一个很棒的工具,非常感谢!
回复:维恩图@russ_wolfinger嗨,全局变量名称已更改,但现在每当运行最新的插件时我都会收到错误消息(是否更改了其他一些更关键的代码?)-

回复:维恩图谢谢@Skilng ,刚刚上传了一个更新,将错误消息和文档更改为“JAVA_HOME”而不是“$JAVA_HOME”。
回复:维恩图我想我发现了问题 - 环境变量需要定义为“JAVA_HOME”而不是警告中出现的“$JAVA_HOME”。 也许我在我的旧安装上试过这个但忘记了。
回复:维恩图@russ_wolfinger或任何其他 - 我让它在另一台 PC 上按比例工作,但似乎无法让它在我的新 PC 上工作。 已安装java,并将正确的环境变量$JAVA_HOME 设置为java.exe 的路径。 但是当我按比例运行时,我总是得到关于环境变量的错误。 重新启动并重新安装了 java 和 JMP,并确认环境变量可以正常工作。
有什么建议吗? 我在 Windows 10 专业版上。 感谢它,当然还有插件本身!

回复:维恩图@russ_wolfinger谢谢你,拉斯! 这是一个很好的补充,交互性为我正在做的分析打开了许多新的大门。 我真的很感谢这个插件。
凯西
回复:维恩图嗨 Vennatics,
刚刚上传了具有以下更新的新版本:
1. 在运行 proportional-area Venns 之前,您现在必须定义环境变量 $JAVA_HOME 以指向包含 java.exe 的路径。这适用于 Windows 和 Mac。执行此操作后您可能需要重新启动 JMP 才能在插件中生效。
2. 对话框中的新复选框使其保持打开状态。
3. 对输出元素进行了一些小调整。
4. 输出窗口中的新复选框“数据点”。 这个想法是为输入表中的所有行创建随机抖动的 XY 坐标,并将它们显示在相应的 Venn 扇区内。(“密度点”是一个具有类似想法的较旧功能,但它绘制的点较少并且它们未链接到表格。)名为 VennSector、VennX 和 VennY 的新列已添加到表格中,因此您可以保存表格并重复使用这些点或创建您自己的坐标。这是一个例子:

为了能够动态显示点,我们将基础平台从 Graph Box 切换到 Graph Builder。现在在点和表之间有通常的双向交互,因此在从表派生的任何其他图形之间。如果您每次都从头开始运行加载项,您甚至应该能够创建多个交互式链接的 Venns。点上的标签也应该有效。
享受并请保持良好的反馈和想法!
回复:维恩图谢谢至@russ_wolfinger对于这个超级酷的插件! 我想知道它是否可以更新为:1)显示密度点时标记 POINT 值,2)选择表中与单个点(而不是扇区中的所有点)关联的记录或 3)显示有关的信息单个点(样本数、物种、性状等)作为悬停动作(或任何其他可以为任何给定点显示多个属性的方法)?
这些选项中的任何一个都将有助于回答有关构成任何给定部门的个别样本的问题。 现在,当我有一个有很多点的扇区并选择一个(实际上只是选择扇区)时,我必须搜索表中所有选定的记录并猜测哪个记录适用于图中的特定兴趣点.
再次感谢这个工具。 凯西
回复:维恩图对不起,我在假期混战中错过了你的消息。 是的,我想一个选项
对于计数和/或对象名称列表将非常有帮助。 它可能不是
非常适合大型数据集,但我认为这可能由用户决定
什么是显示数据的合理方式。 类似的东西
这:
[图片:image.png]
感谢你的回复,
空调
回复:维恩图嗨拉斯和所有,
非常感谢! 必备工具!
说明:
*密度点:你能提供更多关于这个的方法信息吗(即在科学文章中参考)? 顺便说一句,每次我运行相同的数据集时,密度点的位置都会发生变化。
*格式变量:如何使用? 任何“手册”阅读?
以前的观点/问题:
*拉斯,我想@AC_Repka正是这个意思。 例如,它适用于较小的数据集。 因此,对于每个区域,我们不会显示数字或比例,而是使用名称 - 例如,如果我在维恩图的某个区域有“3”种颜色,而不是显示数字(“3”),我们会选择显示他们的 3 个名称(例如“蓝色、红色、绿色”)。
* @MKostura和@约翰_K是的好点。
*比例区域:我刚刚尝试了新插件,现在可以使用了 (JMP 14)。
建议/想法:
*变量:函数“BY”会非常有用。
*添加“保持对话框打开”选项将非常有用。
谢谢!
回复:维恩图刚刚对此进行了修复;很抱歉给您带来麻烦。请下载更新后的附件并重新安装加载项。
回复:维恩图猜测 meansX[i] 应该是 meansX[ceiling(log(idx,2))] ?
回复:维恩图如果我将 meansX[i] 替换为 meansX[8] 并将 meansY[i] 替换为 meansY[8] ,脚本不会崩溃(但生成的维恩图很难看)
回复:维恩图当使用具有 0-1 个变量的单表做比例维恩图时,我得到错误 meansX[i] 并且我已经将它追踪到 VennDiagram.jsl 代码的第 1240 行左右
一开始以为是打错了,应该是meansX[idx],但是meansX只有他的8个元素,所以show(i)的时候发现i是256。
在我的例子中,错误似乎发生在 idx=16 时,所以我想直到那时才满足 if 语句条件
// fill in any missing ones using average of circle centers
cN0 = cN;
show(two_to_nc);
show(nc);
show(i);
for(idx=1, idx<=two_to_nc, idx++,
if(cN0[idx]==0 & counts[idx]>0,
cX[idx] += meansX[i];
cY[idx] += meansY[i];
cN[idx]++;
);
);
查看日志显示
meansX = [61.44375, 45.68125, 65.83125, 46.16875, 58.4375, 43.08125, 63.8, 62.90625];
meansY = [56.925, 41.56875, 47.0125, 50.83125, 56.51875, 36.85625, 50.9125, 52.375];
two_to_nc = 256;
nc = 8;
i = 256;
invalid subscript (must be number or list of numbers) in access or evaluation of 'meansX[i]' , meansX[/*###*/i]
回复:维恩图大家好, 正好赶上圣诞老人的雪橇,附件是一个更新,应该修复在 Mac 上运行 Java 的比例区域,以及cN0[idx] 错误。
@MKostura @约翰_K在实现从 JMP 表返回到图形的交互性时存在一些棘手的问题。例如,排除/包含会触发比例区域的重新计算,这可能需要 5-10 秒。对于基本用例来说可能还不错,但是如果您经常进行此类更改,可能会变得笨拙。更困难的是如何在图表本身中显示部分选择。例如,如果在表中仅选择了维恩扇区的某些行,我们如何在视觉上提示这一点?我的同事 Drew Foglia(现在也是一名贡献者)一直在进行一些调查,并提出了在每个区域自下而上进行水填充着色的想法。有人看过这些方面的研究吗?
@AC_Repka谢谢,我不太了解。您想要完全隐藏对象计数,而是显示一个状态列表,在每个状态中定义一个特定的扇区?对于中型和大型数据集,这不会变得完全难以管理吗?我可能完全错过了这个想法。你有示例图片吗?
回复:维恩图嗨拉斯,
喜欢维恩图工具。 我想知道是否可以进行允许在图形主体中显示共享对象名称(而不仅仅是对象计数)的更新?
谢谢
回复:维恩图Russ - 感谢最近所有的帮助,使这个插件变得更好。
现在困难的事情已经完成了......
我也赞同 MKostrua 上面的评论:
“但是,让这个维恩图插件与行选择完全动态地交互将大大提高效用和社区的接受度。现在,该修复允许隐藏/排除的行起作用,但仅作为刷新。用户必须重新开始才能获得更新的图表。连接到本地数据过滤器会有很大帮助。 这将是对 Graph Builder 图形类型菜单的极好补充。”
回复:维恩图不,它也适用于 JMP for Mac。 我认为所有 JMP 插件都可以在任何地方使用。 但是,在选中比例区域的框时,这也会在Mac的JMP中出现错误,尽管它与Windows是不同的错误消息。
回复:维恩图这是否只适用于 JMP 的 Win 版本?
回复:维恩图这是一个很棒的插件。 但是,当我选中“比例区域”框时,我在 JMP 警报窗口中收到以下错误:访问或评估 'cN0[idx]' 时无效的下标(必须是数字或数字列表),cN0[/* ###*/idx] 生成了比例图的 Java 版本,但它从未进入 JMP 输出窗口。 我已经在 JMP Pro 13 和 14 中尝试过,并尝试了 SAS 提供的 java.exe 以及 java.com 提供的版本。 都给出相同的错误。 非比例图效果很好,看起来很棒。 由于比例图是部分制作的,我可以调整大小并移动所有圆圈以匹配它,但所有这些编辑很快就会变得很麻烦。 这个问题有简单的解决方法吗?回复:维恩图你好@irinastl ,
是的,此插件可与 JMP Pro 版本 13 一起构建维恩图。
转到这篇文章的顶部并下载 .jmpaddin 文件并在 JMP Pro 13 中打开它。 您会在加载项菜单的底部找到维恩图菜单。
回复:维恩图我可以在 JMP 13Pro 中构建维恩图吗?
回复:维恩图谢谢。好的第一步。但是,让这个维恩图插件与行选择完全动态地交互将大大提高效用和社区的接受度。现在,该修复允许隐藏/排除的行起作用,但仅作为刷新。用户必须重新开始才能获得更新的图表。连接到本地数据过滤器会有很大帮助。
这将是对 Graph Builder 图形类型菜单的极好补充。
回复:维恩图好消息 MKostura——刚刚上传了一个更新,现在支持排除的行。
回复:维恩图只是想询问有关维恩图插件的功能问题。它似乎与行状态中可能发生的更改无关(例如隐藏和排除)。如果我隐藏并排除行,那些仍然被算作维恩图的一部分。在设置维恩图时我可能会忽略某些东西,或者这可能是错误?
回复:维恩图嗨维恩朋友们,
刚刚上传更新,特色
- 在对话框中自动调用规格
- 新的对话框字段允许您指定具有 JMP 格式的变量,然后将此格式应用于计数
- 显示窗口中的新单选按钮可让您从计数切换到比例,允许您使用上述格式化程序显示百分比
- 新复选框“密度点”在图表中提供计数密度的可视化显示
- 示例数据现在是菜单的一部分
请试一试,如果您有任何问题或改进想法,请告诉我!
回复:维恩图很棒的插件!召回按钮上的同上
回复:维恩图这真是一个很棒的工具。 希望它有一个召回按钮
回复:维恩图抱歉,之前的评论仅适用于每个维恩圆的标签,不适用于圆内的数据计数。 要格式化这些计数,我想需要添加一些功能。
回复:维恩图通过展开右侧的“标签”轮廓框并在其中的框中进行更改,可以进行基本编辑。 如果您需要更高级的格式,请告诉我们。
回复:维恩图有没有办法格式化数据标签?例如,在数字中添加一个逗号,将 .10 更改为 10%,等等,或者隐藏标签以便我可以自己粘贴?
