Python 3.x 从散点图中删除标题
我想知道如何能够为一系列数据分配一个名称(使用散点图),而不必获得与图表标题相同的序列名称。我想得到的只是作为传奇系列的名称,而不是图表标题在所有 我意识到Python 3.x 从散点图中删除标题,python-3.x,openpyxl,Python 3.x,Openpyxl,我想知道如何能够为一系列数据分配一个名称(使用散点图),而不必获得与图表标题相同的序列名称。我想得到的只是作为传奇系列的名称,而不是图表标题在所有 我意识到autoTitleDeleted的值必须为1 因此,查阅文档我发现“chartContainer”是实现上述选项的类。因此,我导入该类并将其应用为下一个: from openpyxl import Workbook from openpyxl.chart import ( ScatterChart, Refer
autoTitleDeleted
的值必须为1
因此,查阅文档我发现“chartContainer”是实现上述选项的类。因此,我导入该类并将其应用为下一个:
from openpyxl import Workbook
from openpyxl.chart import (
ScatterChart,
Reference,
Series,
)
from openpyxl.chart.chartspace import ChartContainer
wb = Workbook()
ws = wb.active
rows = [
["Size", "Batch 1", "Batch 2"],
[2, 40, 30],
[3, 40, 25],
[4, 50, 30],
[5, 30, 25],
[6, 25, 35],
[7, 20, 40],
]
for row in rows:
ws.append(row)
chart2 = ScatterChart()
chart2.x_axis.title = "Size"
chart2.y_axis.title = "Percentage"
xvalues = Reference(ws, min_col = 1, min_row = 2, max_row = 7)
values = Reference(ws, min_col = 3, min_row = 1, max_row = 7)
series1 = Series(values, xvalues)
chart2.series.append(series1)
chart2 = ChartContainer(autoTitleDeleted = 1)
ws.add_chart(chart2, "J10")
wb.save("Ex1.xlsx")
然而,下一个错误出现了:
`运行文件('C:/Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py',wdir='C:/Users/Administrador/Desktop/Pre-Try/Ex1')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('C:/Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py',wdir='C:/Users/Administrador/Desktop/Pre-Try/Ex1')
文件“C:\ProgramData\Anaconda3\lib\site packages\spyder\u kernels\customize\spyderrcustomize.py”,第827行,在运行文件中
execfile(文件名、命名空间)
文件“C:\ProgramData\Anaconda3\lib\site packages\spyder\u kernels\customize\spydercustomize.py”,第110行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py”,第46行,在
wb.save(“Ex1.xlsx”)
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\workbook\workbook.py”,第397行,保存
保存工作簿(自身,文件名)
保存工作簿中的文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\writer\excel.py”,第294行
writer.save()
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\writer\excel.py”,第276行,保存
self.write_data()
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\writer\excel.py”,第76行,在write\u数据中
自己写工作表()
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\writer\excel.py”,第219行,在工作表中
自写图纸(ws.\U图纸)
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\writer\excel.py”,第142行,在“写入”图形中
self.\u archive.writestr(drawing.path[1:],tostring(drawing.\u write())
文件“C:\ProgramData\Anaconda3\lib\site packages\openpyxl\drawing\spreadsheet\u drawing.py”,第296行,以书面形式
self.\u rels.append(rel)
UnboundLocalError:赋值前引用的局部变量“rel”`
我真的不理解这个错误。如果你能帮忙,我将不胜感激
chart2=ChartContainer(autoTitleDeleted=1)
这就是问题所在:您必须使用openpyxl图表对象,以便库能够管理对象之间的管道:图表是非常复杂的对象,我们试图隐藏一些您的想法是正确的复杂性-将值设置为True-但这不会像这样工作,因为图表容器
不知道如何将自身添加到XLSX软件包
作为一种解决方法,使用空字符串创建标题可能是最简单的。否则,您可以提交一份PR,允许将
autoTitleDeleted
属性从chartContainers映射到图表,反之亦然。您需要包含完整的错误回溯,尽管我认为这与您在这里所做的工作无关。感谢您@charlectlark的帮助。我用回溯法编辑了这个问题。希望这有助于了解问题所在。嗨,查理。谢谢你的回答。尽管如此,您所评论的解决方法并不能解决问题,因为“标题空间”仍然存在(尽管没有任何文字),因此绘图区域比它应该的小。有没有其他方法可以删除标题?没有,没有我所描述的对库进行更改。谢谢你的快速回答@Charile。是的,我看过你的其他选择。然而,我不确定我是否有足够的知识和经验去做那件事。。