以编程方式使值/数据标签显示在SPSS(饼图)图表上

2024-04-25 03:35:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个项目,涉及从SPSS导出图表。值标签应该在饼图上可见。Here's what I gethere's what I want。 代码都在工作(请看下面我是如何做到的)。我只是没有找到一种方法让那些“值标签”显示在饼图上,而不经过图表编辑器(在SPSS查看器中双击图表)。你知道吗

我想要的是把这些标签放在饼图上,就像我点击“显示数据标签”as shown here。有没有办法做到这一点?你知道吗

我是这样访问代码中的图表的:

#in a SYNTAX file
* Encoding: UTF-8.
OMS
    /DESTINATION
        FORMAT=OXML
        XMLWORKSPACE="my_ws"
        VIEWER=YES
        IMAGES=YES
        IMAGEFORMAT=PNG
        CHARTFORMAT=IMAGE.
BEGIN PROGRAM python.
import spss
spss.Submit("""FREQUENCIES VARIABLES=Sex
          /PIECHART PERCENT
          /ORDER=ANALYSIS.""")
imgs = spss.EvaluateXPath('my_ws', '/outputTree',
    '//command[@command="Frequencies"]/chartTitle/chart/@imageFile' )
image=spss.GetImage( 'my_ws', imgs[-1] )
END PROGRAM.
OMSEND.

Tags: 项目代码wsheremy图表标签program
1条回答
网友
1楼 · 发布于 2024-04-25 03:35:01

我认为直接使用SPSS语法是不可能的。命令语法参考说明了频率,子命令PIECHART:

“百分比。在图表编辑器中请求值时,将显示[…]百分比。“

我已经这样做了,但它没有向输出文档添加新代码,这使我认为在这个子命令的绘图中打开百分比是不可用的。你知道吗

但是,您可以创建一个custom chart template as shown here。你知道吗

因此,您的代码应该是这样的:

OMS
    /DESTINATION
        FORMAT=OXML
        XMLWORKSPACE="my_ws"
        VIEWER=YES
        IMAGES=YES
        IMAGEFORMAT=PNG
        CHARTFORMAT=IMAGE.
BEGIN PROGRAM python.
import spss
spss.Submit("""set ctemplate
                        '<TEMPLATELOCAION>/<TEMPLATENAME>.sgt'.


                       FREQUENCIES VARIABLES=<VARIABLENAME>
                       /PIECHART PERCENT
                       /ORDER=ANALYSIS.

                      set ctemplate none.""")
imgs = spss.EvaluateXPath('my_ws', '/outputTree',
    '//command[@command="Frequencies"]/chartTitle/chart/@imageFile' )
image=spss.GetImage( 'my_ws', imgs[-1] )
END PROGRAM.
OMSEND.

相关问题 更多 >