![](/img/trans.png)
[英]How to set font size of chart,axis values and axis titles in python-pptx for xyscatter chart
[英]python-pptx: Set the value axis of a chart to cross at 0
我想使用 python-pptx 创建一个图表,其中值轴始终从 0 开始。从阅读文档看来,这应该可以使用crosses
和crosses_at
设置器。 但是,当我使用下面的代码尝试此操作时,值轴仍然从 314 开始。我是在这里误解了 api 还是这是一个错误?
from pptx import Presentation
from pptx.enum.chart import XL_AXIS_CROSSES
from pptx.chart.data import CategoryChartData
from pptx.util import Inches
from pptx.enum.chart import XL_CHART_TYPE
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])
chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (319.2, 321.4, 316.7))
x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)
graphic_frame = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data)
chart = graphic_frame.chart
value_axis = chart.value_axis
value_axis.crosses = XL_AXIS_CROSSES.CUSTOM
value_axis.crosses_at = 0 # always start value axis at 0
prs.save('demo.pptx')
我相信您正在寻找的是value_axis.minimum_scale = 0
。
默认情况下,未指定此值(返回None
),这意味着“自动”。 该设置将调整显示范围的最小值以充分利用显示区域(根据某些算法)。
当您明确指定它时,显示范围的末端将变为固定。
最小显示值处的类别轴交叉是默认行为,因此在这种情况下您不需要.crosses
或.crosses_at
设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.