Python第三方库之openpyxl(12)
地面天气图
在工作表上的列或行中安排的数据可以在一个表中绘制。当您想要在两组数据之间找到最佳组合时,一个表面图表是有用的。正如在地形图中一样,颜色和图案表示的区域是相同的值域。默认情况下,所有的表面图都是3D的。通过设置rotation 和perspective来创建2D线框和轮廓图。
from openpyxl import Workbook from openpyxl.chart import ( SurfaceChart, SurfaceChart3D, Reference, Series, ) from openpyxl.chart.axis import SeriesAxis wb = Workbook() ws = wb.active data = [ [None, 10, 20, 30, 40, 50,], [0.1, 15, 65, 105, 65, 15,], [0.2, 35, 105, 170, 105, 35,], [0.3, 55, 135, 215, 135, 55,], [0.4, 75, 155, 240, 155, 75,], [0.5, 80, 190, 245, 190, 80,], [0.6, 75, 155, 240, 155, 75,], [0.7, 55, 135, 215, 135, 55,], [0.8, 35, 105, 170, 105, 35,], [0.9, 15, 65, 105, 65, 15], ] for row in data: ws.append(row) c1 = SurfaceChart() ref = Reference(ws, min_col=2, max_col=6, min_row=1, max_row=10) labels = Reference(ws, min_col=1, min_row=2, max_row=10) c1.add_data(ref, titles_from_data=True) c1.set_categories(labels) c1.title = "Contour" ws.add_chart(c1, "A12") from copy import deepcopy # wireframe c2 = deepcopy(c1) c2.wireframe = True c2.title = "2D Wireframe" ws.add_chart(c2, "G12") # 3D Surface c3 = SurfaceChart3D() c3.add_data(ref, titles_from_data=True) c3.set_categories(labels) c3.title = "Surface" ws.add_chart(c3, "A29") c4 = deepcopy(c3) c4.wireframe = True c4.title = "3D Wireframe" ws.add_chart(c4, "G29") wb.save("surface.xlsx")
原文地址:https://www.cnblogs.com/Keys819/p/9315650.html
时间: 2024-10-04 15:46:39