0

現在のバージョン 0.6.6 の python-pptx を頻繁に使用しています。

ここで、次のように、左側に 1 つ、右側に 1 つの 2 つの数値軸を持つグラフを設定します。

python-pptx のドキュメントでは、value_axis は chart.value_axis によってアクセスされますが、2 つの値軸 (独自の maximum_scale/minimum_scale/major_unit) を設定する方法についての説明は見つかりませんでした。

それについての手がかりはありますか?

数値軸が 2 つの画像

Scannyの回答に従って、lxmlを少し掘り下げましたが、機能しないことがわかりました(以下にコードを添付して、axPosがrに変更されたかどうかをテストしたいだけです)。この投稿のように:

Python PPTX棒グラフの負の値

invert_if_negative オプションを設定すると、lxml レイヤーで何かが発生し、lxml 値の操作が ppt に影響しないという同じ問題がありますか?

if 'import':
    from pptx import Presentation
    from pptx.util import *
    from pptx.chart.data import ChartData
    from pptx.enum.chart import *
    import pandas as pd

if __name__ == '__main__':

    prs = Presentation()    
    slide = prs.slides.add_slide(prs.slide_layouts[6])

    df = pd.DataFrame({'Term': ('1Y', '2Y', '3Y', '4Y', '5Y'), 'A': (2.3, 2.6, 2.7, 2.8, 3.0), 'B': (6, 7.1, 7.5, 6.9, 8)})    

    chart_data = ChartData()
    chart_data.categories = df.Term
    seriesA = chart_data.add_series('A', df.A)
    seriesB = chart_data.add_series('B',df.B)
#    seriesA.invert_if_negative = False
#    seriesB.invert_if_negative = False

    x, y, cx, cy = Inches(0.5), Inches(2), Inches(8.5), Inches(4.5)
    chart = slide.shapes.add_chart(XL_CHART_TYPE.LINE, x, y, cx, cy, chart_data).chart    

    cvaxis = chart.value_axis    
    axPos = cvaxis._element.find('{http://schemas.openxmlformats.org/drawingml/2006/chart}axPos')
    print (axPos.values())
    axPos.set('val','r')
    print (axPos.values())

    prs.save('test123.pptx')
4

1 に答える 1